|
|
|
Отношение сущностей
|
|||
|---|---|---|---|
|
#18+
Такой вот философский вопрос - быть или не быть. Есть например сущность Person. И есть сущность Offer - предложение, которое делают этому Person. Например по логике Person не должен знать предложения. То есть Person сущность постоянная, а Offer - сущности постоянно меняются. То есть Offer содержит ссылку personId, а у Person не имеет ссылки на offer. И тут получается такая ситуация - если удаляем Person, то у нс остаются подвешенные Offer,потому что в мэппинге Person мы не можем указать orphanRemoval = true. Вопрос - если уж по логике предметной области Person не должен знать про Offer - нужно ли следовать так точно в мэппинге этому и делать связь однонаправленной, если это приведет к таким вот абсурдным ситуациям - ничейные Offer при удаленном Person? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2012, 19:26:53 |
|
||
|
Отношение сущностей
|
|||
|---|---|---|---|
|
#18+
Ну во-первых это очень спорно, что "Например по логике Person не должен знать предложения" По мне так тут двусторонняя связь прям просится - но все зависит конечно от вашего приложения. К тому же что вам мешает удалить все офферы принадлежащие персону вручную? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2012, 19:31:32 |
|
||
|
Отношение сущностей
|
|||
|---|---|---|---|
|
#18+
Offer-ы не будт подвешеными, если вы FK в базе сделали. Варианта всего два. Либо таки добавить ассоциацию. Либо в сценарии удаления подчищать предварительно и Offer-ы. Мысли верные. Если можно не добавлять связь, я был не добавлял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2012, 19:32:38 |
|
||
|
Отношение сущностей
|
|||
|---|---|---|---|
|
#18+
То есть можно например оставить такой мэппинг, Но на уровне Service реализовать удаление Person так 1 - удалить Person 2 - удалить все Offerы, которые имеют ссылку на этот Person. У Offer fk на Person все-таки будет. То есть при удалении Person останется у Offer fk указывающий на несуществующий Person. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2012, 19:49:51 |
|
||
|
Отношение сущностей
|
|||
|---|---|---|---|
|
#18+
oson, То есть при удалении Person останется у Offer fk указывающий на несуществующий Person. ЖЖОШ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2012, 20:13:57 |
|
||
|
Отношение сущностей
|
|||
|---|---|---|---|
|
#18+
osonТо есть можно например оставить такой мэппинг, Но на уровне Service реализовать удаление Person так 1 - удалить Person 2 - удалить все Offerы, которые имеют ссылку на этот Person. У Offer fk на Person все-таки будет. То есть при удалении Person останется у Offer fk указывающий на несуществующий Person. Да, так и надо делать. А вы уверены что база данных не ругнется на integrity constraint?:) это к вопросу об оффере с "fk указывающий на несуществующий Person" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2012, 20:14:04 |
|
||
|
Отношение сущностей
|
|||
|---|---|---|---|
|
#18+
oson, Что то тут каша. Причем маппинг. Если удалять или нет решает бизнес? Если ОН Говорит удалять то делаете каскад средствами хибера. Если не желаете средствами субд. Т.е. каскад работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2012, 20:21:13 |
|
||
|
Отношение сущностей
|
|||
|---|---|---|---|
|
#18+
javapeckeroson, То есть при удалении Person останется у Offer fk указывающий на несуществующий Person. ЖЖОШ )))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2012, 20:23:53 |
|
||
|
Отношение сущностей
|
|||
|---|---|---|---|
|
#18+
oson, напиши пример кода такого, чтобы персон не знал про офер, код работал, и туда нельзя было прикрутить каскадное удаление ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2012, 20:25:11 |
|
||
|
Отношение сущностей
|
|||
|---|---|---|---|
|
#18+
Каскад на базе не сломает ли кеш у хибера. 8) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2012, 20:35:15 |
|
||
|
|

start [/forum/topic.php?fid=59&tid=2130436]: |
0ms |
get settings: |
20ms |
get forum list: |
24ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
92ms |
get topic data: |
18ms |
get forum data: |
4ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 327ms |
| total: | 568ms |

| 0 / 0 |
