|
|
|
Hibernate @OneToMany @ManyToOne
|
|||
|---|---|---|---|
|
#18+
Petro123, Спасибо за помощь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2012, 16:02:18 |
|
||
|
Hibernate @OneToMany @ManyToOne
|
|||
|---|---|---|---|
|
#18+
svenom , почему нужно обновление с обоих сторон? У меня нормально работает с одной стороны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2012, 16:27:16 |
|
||
|
Hibernate @OneToMany @ManyToOne
|
|||
|---|---|---|---|
|
#18+
jab svenom , почему нужно обновление с обоих сторон? У меня нормально работает с одной стороны.Это просто правило хорошего тона, что бы когда: а) ваш код будет смотреть другой человек б) ваш код будете смотреть вы же через N месяцев или после перепоя или невыспавшиймся ... сразу было ясно, что происходит. Если же вы не делаете обновление с другой стороны, то оно становится неявным, что значительно ухудшает читаемость кода и его интуитивное восприятие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2012, 16:33:05 |
|
||
|
Hibernate @OneToMany @ManyToOne
|
|||
|---|---|---|---|
|
#18+
авторsvenom, почему нужно обновление с обоих сторон? У меня нормально работает с одной стороны. Не то чтобы оно уж так необходимо, просто это хорошая пратика, если у вас в течение реквеста идет работа только с одной сущностью, то все будет ок. Но представь такую ситуацию, ты работаешь с главной энтити, в которую добавляешь элемент коллекции, затем тебе надо перебрать коллекцию и сделать что-то с каждым элементом коллекции, и вот при этом что-то нужно иметь ссылку на парента, если не обновлять связи с двух сторон - то будет нулл поинтер, к тому же могут быть проблемы когда одна бизнес-транзакция распределена на несколько реквестов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2012, 16:37:09 |
|
||
|
Hibernate @OneToMany @ManyToOne
|
|||
|---|---|---|---|
|
#18+
авторваш код будете смотреть вы же через N месяцев или после перепоя или невыспавшиймся ... сразу было ясно, что происходит. Если же вы не делаете обновление с другой стороны, то оно становится неявным, что значительно ухудшает читаемость кода и его интуитивное восприятие. Хороший поинт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2012, 16:38:00 |
|
||
|
Hibernate @OneToMany @ManyToOne
|
|||
|---|---|---|---|
|
#18+
тут надо чётко знать что именно делает хибер. Парент иногда нужен, если знать что именно он делает, и если он не делает в БД дополнительных полей (двойное сохранение). Например, один чел в сети жалуется, что у него каскад не работает пока не добавил парента в child. Спрашивается, какого лешего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2012, 16:45:42 |
|
||
|
Hibernate @OneToMany @ManyToOne
|
|||
|---|---|---|---|
|
#18+
в субд не принято, делать запросы - загодя. А вот в десктопе, в дереве элементов - принято (у каждого нода - парент на всякий случай) Это из той же серии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2012, 16:49:24 |
|
||
|
Hibernate @OneToMany @ManyToOne
|
|||
|---|---|---|---|
|
#18+
А я всегда думал, что добавляя чилд через парэнта и парэнта через чилд я получу в результате два парэнта и два чилда. Не проверял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2012, 17:33:16 |
|
||
|
Hibernate @OneToMany @ManyToOne
|
|||
|---|---|---|---|
|
#18+
авторА я всегда думал, что добавляя чилд через парэнта и парэнта через чилд я получу в результате два парэнта и два чилда. Не проверял. Скорее всего при добавлении чайлда к паренту все будет ок, а вот когда делаешь child.setParent(parent), а потом parent.getChilds() - добавленный элемент может и не находится в коллекции. Давно не работал с хибернейт, но в какой-то версии точно были косяки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2012, 17:41:29 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37648832&tid=2132635]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
45ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 331ms |
| total: | 486ms |

| 0 / 0 |
