Почему я получаю 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 сразу после завершения запроса на их загрузку.

Другие вопросы по тегам