Почему я получаю LazyInitializationException при использовании OpenEntityManagerInViewFilter? (используя Spring Roo)
Я создал свой проект с помощью Spring Roo и не затрагивал XML-файлы.
Все, что я пытаюсь сделать, это получить коллекцию с помощью метода ITD объекта.
Я получаю следующую ошибку:
SEVERE: Servlet.service() for servlet MyProject threw exception
org.hibernate.LazyInitializationException: failed to lazily initialize a collect
ion of role: com.myproject.main.domain.Juser.securityRoles, no session or session
was closed
Пожалуйста, ведите меня. Я застрял плохо.
1 ответ
Ленивый init в hibernate - это то, где он загружает отношения по требованию, а не во время запроса. Это часто более эффективно, поскольку означает, что основной запрос проще.
Иногда вам нужно форсировать загрузку отложенных релпов до закрытия сессии. В этом случае вам просто нужно вызвать метод для объектов relp сразу после завершения запроса на их загрузку.