|
|
|
Вопрос по EJB3
|
|||
|---|---|---|---|
|
#18+
Возник следующий вопрос. Если EJB3 стал ориентирован на использование POJO, то в сравнении с Hibernate как обеспечивается работа с lazy-initialized коллекциями или объектами? Скажем, есть классы A и B: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2006, 12:01 |
|
||
|
Вопрос по EJB3
|
|||
|---|---|---|---|
|
#18+
см. FetchType Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2006, 12:09 |
|
||
|
Вопрос по EJB3
|
|||
|---|---|---|---|
|
#18+
EAGER - это использование outer-join, по крайней мере в Hibernate. Стоит вопрос, удасться ли инициализировать незагруженные объекты удаленно. Вызовет ли обращение к прокси обращение к контейнеру для загрузки? В Hibernate задача нетривиальна, поскольку закрытие сессии (Session) означает отсоединение от нее объектов -> LazyInitializationException. В принципе (как я понимаю), возможно прикрепление объекта к сессии, но потребуются наворачивать слой сервисов или DAO дополнительным кодом. Вот и спрашиваю, как это работает в EJB3. Может, кто знает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2006, 13:37 |
|
||
|
Вопрос по EJB3
|
|||
|---|---|---|---|
|
#18+
нет, все что будет использоваться должно быть загружено пока сессия жива, FetchType позволяет управлять "границей" графа, который будет загружен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2006, 15:53 |
|
||
|
Вопрос по EJB3
|
|||
|---|---|---|---|
|
#18+
зад точно таких же размеров. ставим FetchType.LAZY пересылаем в другую, JVM , обращаемся -- БА-БАХ. для избегания перед засылом a.bs.size() (обычно выбирает коллекцию и всё в поряде) а если это полиморфная ассоциация то for(В b : a.bs) b.getBlaBlaBla(); только так прокси пофетчит. >а FetchType.EAGER - это не использование outer-join, а пресловутый N+1 запрос. (которого избегаем outer-join ом для первой ассоциации в классе при условии, что хибер на это настроен (по умолч)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2006, 16:00 |
|
||
|
Вопрос по EJB3
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2006, 12:45 |
|
||
|
Вопрос по EJB3
|
|||
|---|---|---|---|
|
#18+
я с Хибером ниразу, только с EJB3.0 вот там так - если убрать hibernate.max_fetch_depth в 0, то аннотация fetch=FetchType.EAGER это стопудово N+1. если же это точно, outer join, то представьте если у вас две или три таких ассоциации - это будет несколько джойнов запросе, это будет ну очень много строчков ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2006, 16:48 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33634777&tid=2149748]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
73ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 534ms |

| 0 / 0 |
