Я получаю исключение LazyInitializationException в приложении Spring. У меня настроен OpenEntityManagerInViewFilter, поэтому все мои отношения установлены как FetchType.LAZY, и все они работают. Проблема в том, что я пытаюсь получить доступ к пользователю, который находится в сеансе, через Spring Security и печатать информацию LAZY в JSP, что-то вроде этого:
<sec:authentication property="principal" var="userAuth"/>
${userAuth.organisation.id}
и я получаю
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
хотя я могу сделать $ {userAuth.username} без проблем
У меня есть пользовательский поставщик аутентификации, который является просто DAO, который загружает пользователей, используя Hibernate
<sec:authentication-provider user-service-ref="userDAOImpl">
Странно то, что у меня возникает та же проблема, когда я устанавливаю для Object Object значение EAGER.
Проблема возникает, только когда я пытаюсь получить доступ через sec: authentication. Если я добавлю пользователя в модель, а затем получу доступ к данным в jsp, это сработает.
Почему я не могу получить доступ к данным, хранящимся в объекте, связанном с пользователем?
Спасибо