![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
MaxPayneC |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 18.2.2006 Репутация: 3 Всего: 9 |
Имеются две сущности:
В базе в таблице с городами есть ссылка на район, в котором находится город. Возникает вопрос: можно ли, вызывая session.delete(area), сделать так, чтобы были удалены все города, находящиеся в этом районе, не создавая в классе Area коллекцию городов и не мапя ее @OneToMany? Также нужно, чтобы создание города вызывало создание района, а оно - создание региона (код класса региона опущен), если район и регион еще не были persist в базу. |
||||
|
|||||
afon |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 5.4.2008 Где: Украина, Киев Репутация: нет Всего: 1 |
1. выделенное жирным, само по себе - нет.
2. либо создавать одновременно в коде - друг за другом, тут же мапить и потом персистить сущность верхнего уровня с каскадом PERSIST, либо через конструкторы. Других путей не вижу. |
|||
|
||||
endryha |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 24.3.2008 Репутация: нет Всего: нет |
Либо триггерами на уровне базы данных
|
|||
|
||||
MaxPayneC |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 18.2.2006 Репутация: 3 Всего: 9 |
На уровне базы данных это убивается внешними ключами. Тогда другой вопрос - если хибернейт не будет явным образом удалять детей, это не может вызвать никаких проблем?
|
|||
|
||||
afon |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 5.4.2008 Где: Украина, Киев Репутация: нет Всего: 1 |
Если сами не будете удалять деток перед удалением родителя, то, конечно, вызовет. Если на детях сидит внешний ключ, то просто обязательно вызовет. В смысле - не даст удалить родителя и стрельнет DataIntegrityException, foreign key violation и все такое.
А вот скажите, чем вам обратная связь неугодила? |
|||
|
||||
MaxPayneC |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 18.2.2006 Репутация: 3 Всего: 9 |
Обратная связь не нужна в моей модели, поэтому из соображений экономии памяти решил не грузить сущности лишними коллекциями.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |