JPA и EJB ленивые поля инициализации
Я использую jpa (eclipselink) + ejb(3) в моем проекте, когда я отключаю транзакции по методу ejb, возникает проблема с отложенной загрузкой. Если я попытаюсь выполнить загрузку, это нормально, но у него есть больше времени для ожидания. Как вы решаете подобные проблемы? Я думаю, что есть 2 метода:
Используйте транзакции управления компонентами и загрузите поля в этих транзакциях (это сложно, потому что у меня много устаревшего кода)
Используйте энергичную инициализацию в сущностях.
У тебя есть другие идеи?
Спасибо!
1 ответ
- Не хорошая идея
2 . Быстрая загрузка тоже не очень хорошая идея, потому что риск загрузки всей базы данных в память очень высок.
Если это возможно, попытайтесь создать (именованные) запросы с выборочными соединениями (см. http://www.kumaranuj.com/2013/07/jpa-2-fetch-joins-and-whether-we-should.html), который загружает только Данные, которые вам действительно нужны для дальнейшей обработки.