突然"未能懒惰地初始化角色集合......:没有会话或会话被关闭" - 例外

al.*_*al. 1 java mysql spring jsp hibernate

在一个没有任何改变的情况下工作了很长时间的应用程序中,我得到了Exception

failed to lazily initialize a collection of role: ... , no session or session was closed
Run Code Online (Sandbox Code Playgroud)

什么可能是可能的原因,突然间?发生这种情况的方法在过去3年中经过测试并成功使用.

谢谢你的帮助,al

PS环境:JSP,Spring,Hibernate,MySQL

Tho*_*mas 9

如果你传递一个实体并最终离开它被读取的事务边界,你就无法访问任何尚未初始化的关联(我想你的就是这样Collection<Role> roles).如果您随后访问rolesHibernate可能会尝试初始化它,但由于事务(以及与它的Hibernate会话)已经关闭,您将获得该异常.

发生这种情况的方法在过去3年中经过测试并成功使用.

这可能意味着在调用该方法时未初始化集合的情况很少,并且在过去3年内没有发生.