2013-11-15 2 views
1

Я использую jpa (eclipselink) + ejb (3) в моем проекте, когда я выключаю транзакции по методу ejb, возникает проблема с ленивой загрузкой. Если я попытаюсь загрузить загрузку, это нормально, но у нее больше времени на ожидание. Как вы решаете такие проблемы? Я думаю, что есть 2 способ:JPY и EJB ленивые поля инициализации

  1. Используйте операции управления бобом, и загружать поля в том, что сделках (это трудно, потому что много унаследованного код у меня есть)

  2. Используйте нетерпеливые инициализации в сущности.

Есть ли у вас какие-либо другие идеи?

Спасибо!

ответ

2
  1. Не очень хорошая идея

2 .Eager нагрузка не очень хорошая идея тоже, потому что риск для загрузки всей базы данных в памяти очень высока.

Если его можно попытаться создать (именованные) запросы с выборкой присоединяется (см http://www.kumaranuj.com/2013/07/jpa-2-fetch-joins-and-whether-we-should.html) который только загружает данные вам действительно нужно для дальнейшей обработки.