2015-03-31 6 views
1

У меня есть ленивая коллекция, которую я хочу инициализировать по своему усмотрению/контроллеру. На данный момент я могу сделать:JPA эквивалентная команда для Hibernate.initialize

Hibernate.initialize(myEntity.getListOfThings()); 

Эта команда зимуют зависит и не делает осуществление JPA прозрачным. Есть ли элегантный способ JPA?

ответ

1

Нет, нет эквивалента JPA. Вы можете узнать if the object is loaded и чем использовать один из двух вариантов, либо доступ к свойствам, а объект по-прежнему придают упорство контекста, что я обычно вижу зовю размер, просто ради инициализации коллекции

myEntity.getListOfThings().size(); 

или использовать запрос для инициализации.

+0

Не было бы hibernate возвращать прокси вместо реального объекта? Когда я пытаюсь получить доступ к объекту, я думаю, что он все еще привязан к контексту персистентности, но приводит к исключению LazyInitializationException. У вас был мой прогноз, но было бы полезно, если бы вы могли разработать альтернативу – borjab

+0

, но я имел в виду вызов свойства против прокси-объекта, если он все еще подключен, который полностью инициализирует его. Я обновил ответ, чтобы лучше отразить его –