2016-08-04 2 views
0

Предположим, у меня есть два Java POJO: University and Student. «Университет» включает список студентов.Как перезагрузить ленивые коллекции с гибернацией после завершения транзакции

Эта коллекция помечена для ленивой загрузки в файле сопоставления спящего режима. Так что, если я получаю «университетский» объект из спящего режима, я не могу получить доступ к списку студентов после закрытия транзакции.

Это проблема для меня, потому что в некоторых случаях (не каждый!) Мне нужно получить доступ к этому списку. Это не проблема, если я буду выполнять всю работу на уровне базы данных моего приложения. Но, как вы можете себе представить: этот уровень отвечает только за задачи CRUD. Изменения внесены в бизнес-уровень. Поэтому, если бизнес-уровень получает этот объект, транзакция уже закрыта.

Что лучше всего подходит для этого?

ответ

0

Одно решение - Open Session View. Также вы можете инициализировать дочерние сущности, вызывая getters/iterating через дочернюю коллекцию до закрытия сеанса.