Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Отношение сущностей / 11 сообщений из 11, страница 1 из 1
04.12.2012, 19:26:53
    #38064988
oson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отношение сущностей
Такой вот философский вопрос - быть или не быть.
Есть например сущность Person.
И есть сущность Offer - предложение, которое делают этому Person.
Например по логике Person не должен знать предложения. То есть Person сущность постоянная, а Offer - сущности
постоянно меняются.
То есть Offer содержит ссылку personId, а у Person не имеет ссылки на offer.
И тут получается такая ситуация - если удаляем Person, то у нс остаются подвешенные Offer,потому что в мэппинге Person
мы не можем указать orphanRemoval = true.

Вопрос - если уж по логике предметной области Person не должен знать про Offer - нужно ли следовать так точно в мэппинге этому и делать связь однонаправленной, если это приведет к таким вот абсурдным ситуациям - ничейные Offer при удаленном Person?
...
Рейтинг: 0 / 0
04.12.2012, 19:31:32
    #38065001
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отношение сущностей
Ну во-первых это очень спорно, что "Например по логике Person не должен знать предложения" По мне так тут двусторонняя связь прям просится - но все зависит конечно от вашего приложения. К тому же что вам мешает удалить все офферы принадлежащие персону вручную?
...
Рейтинг: 0 / 0
04.12.2012, 19:32:38
    #38065003
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отношение сущностей
Offer-ы не будт подвешеными, если вы FK в базе сделали.
Варианта всего два. Либо таки добавить ассоциацию. Либо в сценарии удаления подчищать предварительно и Offer-ы.
Мысли верные. Если можно не добавлять связь, я был не добавлял.
...
Рейтинг: 0 / 0
04.12.2012, 19:49:51
    #38065043
oson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отношение сущностей
То есть можно например оставить такой мэппинг, Но на уровне Service реализовать удаление Person так
1 - удалить Person
2 - удалить все Offerы, которые имеют ссылку на этот Person.
У Offer fk на Person все-таки будет. То есть при удалении Person останется у Offer fk указывающий на несуществующий Person.
...
Рейтинг: 0 / 0
04.12.2012, 20:13:57
    #38065076
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отношение сущностей
oson,
То есть при удалении Person останется у Offer fk указывающий на несуществующий Person.
ЖЖОШ
...
Рейтинг: 0 / 0
04.12.2012, 20:14:04
    #38065077
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отношение сущностей
osonТо есть можно например оставить такой мэппинг, Но на уровне Service реализовать удаление Person так
1 - удалить Person
2 - удалить все Offerы, которые имеют ссылку на этот Person.
У Offer fk на Person все-таки будет. То есть при удалении Person останется у Offer fk указывающий на несуществующий Person.

Да, так и надо делать. А вы уверены что база данных не ругнется на integrity constraint?:) это к вопросу об оффере с "fk указывающий на несуществующий Person" :)
...
Рейтинг: 0 / 0
04.12.2012, 20:21:13
    #38065090
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отношение сущностей
oson,
Что то тут каша.
Причем маппинг. Если удалять или нет решает бизнес?
Если ОН Говорит удалять то делаете каскад средствами хибера. Если не желаете средствами субд. Т.е. каскад работает?
...
Рейтинг: 0 / 0
04.12.2012, 20:23:53
    #38065093
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отношение сущностей
javapeckeroson,
То есть при удалении Person останется у Offer fk указывающий на несуществующий Person.
ЖЖОШ
))))
...
Рейтинг: 0 / 0
04.12.2012, 20:25:11
    #38065094
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отношение сущностей
oson,
напиши пример кода такого, чтобы персон не знал про офер, код работал, и туда нельзя было прикрутить каскадное удаление
...
Рейтинг: 0 / 0
04.12.2012, 20:35:15
    #38065108
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отношение сущностей
Каскад на базе не сломает ли кеш у хибера. 8)
...
Рейтинг: 0 / 0
04.12.2012, 20:41:13
    #38065114
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отношение сущностей
Blazkowicz,
так я поэтому и предложил написать, чтобы не философствовать на голом месте, а посмотреть что будет
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Отношение сущностей / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]