У меня есть объект домена, у которого есть атрибут, который представляет собой коллекцию, содержащую другой объект домена. Это выполняется с использованием сопоставления спящего режима (которое в конечном итоге выполняет соединение в другой таблице). Hibernate, по умолчанию, кажется, лениво инстанцирует эту коллекцию. Это, оказывается, замечательно, потому что, в зависимости от того, что мне нужно отображать, мне не всегда нужна коллекция, которую нужно загрузить.Использование Hibernate ленивой загрузки?
Мой вопрос заключается в следующем: при написании своих Hibernate запросов (в моих DAO,), я использую следующие для открытия/закрытия сессии:
Session session = getSessionFactory().openSession();
//query goes here using the session var
session.close();
Проблема: когда Hibernate наконец приходит лениво загрузка моей коллекции, Session
уже давно закрыта! Как я могу обойти это? Я предполагаю, что я должен закрыть сессию, как я делаю ...
Это ошибка, я получаю:
SEVERE: failed to lazily initialize a collection of ...
Мой ответ здесь может помочь. Http: // StackOverflow.com/вопросы/2290414/trouble-with-hibernate-one-way-association/2290580 # 2290580 – marklai