Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отношение сущностей в JPA 
:(
    Опции темы
oson
Дата 4.12.2012, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 289
Регистрация: 3.3.2004
Где: Севастополь

Репутация: нет
Всего: 1



Подскажите пожалуйста.
Есть например сущность Person.
И есть сущность Offer - предложение, которое делают этому Person.
Например по логике Person не должен знать предложения. То есть Person сущность постоянная, а Offer - сущности 
постоянно меняются.
То есть Offer содержит ссылку personId, а у Person не имеет ссылки на offer.
И тут получается такая ситуация - если удаляем Person, то у нс остаются подвешенные Offer,потому что в мэппинге Person 
мы не можем указать orphanRemoval = true.

Вопрос - если уж по логике предметной области Person не должен знать про Offer - нужно ли следовать так точно в мэппинге этому и делать связь однонаправленной, если это приведет к таким вот абсурдным ситуациям - ничейные Offer при удаленном Person?


PM MAIL   Вверх
AntonSaburov
Дата 4.12.2012, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 8
Всего: 118



Значит удалять Person нельзя, т.к. на него есть Offer. 
Вообще удалять такого рода данные (справочники) дело неблагодарное - лучше делать неактивным.
PM MAIL WWW ICQ   Вверх
oson
Дата 4.12.2012, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 289
Регистрация: 3.3.2004
Где: Севастополь

Репутация: нет
Всего: 1



То есть обрабатывать на другом уровне.
То есть например PersonService имеет метод delete(Person) - а внутри он фактически ставит поле deleted у Person в true и находит по этому personId все Offerы и тоже ставит поле deleted у них в true. Типа так?

Это сообщение отредактировал(а) oson - 4.12.2012, 19:59
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0762 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.