org.hibernate.LazyInitializationException: failed to lazily initialize a collect

yuanyuweisinotrust 2010-07-19 05:15:36
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: org.jbpm.graph.def.Node.leavingTransitions, no session or session was closed
at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358)
at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350)
at org.hibernate.collection.AbstractPersistentCollection.readSize(AbstractPersistentCollection.java:97)
at org.hibernate.collection.PersistentList.size(PersistentList.java:91)
at org.jbpm.graph.def.Node.getDefaultLeavingTransition(Node.java:235)
at org.jbpm.graph.exe.Token.signal(Token.java:137)
at org.jbpm.graph.exe.ProcessInstance.signal(ProcessInstance.java:270)
at com.sino.bpm.pao.GeneralJbpmPAO.next(GeneralJbpmPAO.java:73)
at com.sino.bpm.service.ProcessServiceSupport.agree(ProcessServiceSupport.java:60)
at com.sino.bus.action.SecLevDeclareAction.audit(SecLevDeclareAction.java:115)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:413)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:134)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:310)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:297)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.sino.web.filters.GZipfilter.doFilter(GZipfilter.java:26)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:879)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:719)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2080)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
...全文
2249 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
仙茅 2011-04-26
  • 打赏
  • 举报
回复
我设置了lazy=false的,还是不行。
我的是在jsonArray装载值的时候出错的!
List list=....;
JsonArray json=new JsonArray();
json.addAll(list);//就这出错

求解...
jaystart 2011-04-18
  • 打赏
  • 举报
回复
谢谢,不过我的问题还是没解决
不能飞的肥燕 2010-09-07
  • 打赏
  • 举报
回复
hibernate lazy的问题
lazy的意义就是当你真正用的时候才会去数据库查询,而hibernate对数据库的查询依赖于hibernate的session,如果在查询之前session关闭了,就会有这个问题:)
两种方法,最笨,也是最方便的,将你的role设置lazy=false,这样的缺陷就是会有资源浪费
或者自己维护session的生命周期,也就是OpenSessionInFilter.
满意 2010-08-31
  • 打赏
  • 举报
回复
把操作的实体类的映射文件中的某个lazy=“false”就OK了
liufeng0209 2010-08-31
  • 打赏
  • 举报
回复
是否需要在web.xml中写入:
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
hell2010 2010-08-27
  • 打赏
  • 举报
回复
此问题在项目中也碰到过。原因是 调用了 getHibernateTemplate().clear() 导致的 供参考。
xiaowurr 2010-08-17
  • 打赏
  • 举报
回复
这个问题我也遇到了,请问你解决了吗?
seven7749 2010-07-22
  • 打赏
  • 举报
回复
如果你的应用是在default目录下,看一下default\lib下是不是也有hibernate包(记得是5个以hibernate开头的包)。如果你的WEB-INF\lib下也有hibernate包。把default\lib下的hibernate包去掉,然后重起JBOSS

6,787

社区成员

发帖
与我相关
我的任务
社区描述
JBoss技术交流
社区管理员
  • JBoss技术交流社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧