突然“未能懒洋洋地初始化角色的集合...:无会话或会话已关闭” - 异常

问题描述:

在相当长一段时间的工作没有任何改变,我得到了异常的应用突然“未能懒洋洋地初始化角色的集合...:无会话或会话已关闭” - 异常

failed to lazily initialize a collection of role: ... , no session or session was closed 

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

感谢您的帮助, 人

附:环境:JSP,Spring,Hibernate,MySQL

+0

请你能提供更多的像什么阶级结构和堆栈信息跟踪就像是例外吗? – Nilesh 2011-03-18 13:33:26

+0

你一定已经改变了一些好友! – 2011-03-18 14:22:22

如果你传递一个实体并最终离开事务边界,那么你不能访问任何尚未初始化的关联(我猜你的意思是Collection<Role> roles)。如果你然后访问roles Hibernate可能会尝试并初始化它,但由于事务(以及与它的Hibernate会话)已经关闭,所以你会得到这个异常。

发生这种情况的方法在过去的3年中得到了成功的测试和使用。

这可能意味着该方法被调用时该集合未初始化的情况非常罕见,并且在过去3年中并未发生。

尝试在web.xml中使用Open View In View设置。如果您试图将hibernate对象发送到Spring MVC视图并将其恢复,它将会有所帮助。

有两种选择。

  • 加载你之前的所有藏品懒关闭Hibernate的Session 或
  • 使用的openSession鉴于web.xml中设置
+0

该过滤器已被使用。 : - / – 2011-08-24 10:55:41