org.hibernate.LazyInitializationException:could not initialize proxy - the owning Session was closed

rickyll 2008-03-04 05:02:33
hibernate出现异常,有知道的人,给个解决方案,谢谢
积分奖励!

2008-03-04 16:51:19 [日志信息] could not initialize proxy - the owning Session was closed
org.hibernate.LazyInitializationException: could not initialize proxy - the owning Session was closed
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:53)
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:84)
at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:134)
at com.orm.MemberLevel$$EnhancerByCGLIB$$54d60d0d.getLevelName(<generated>)
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:585)
at org.apache.commons.el.ArraySuffix.evaluate(ArraySuffix.java:314)
at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145)
at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263)
at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:190)
at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:922)
at org.apache.jsp.default_jsp._jspx_meth_bean_message_7(org.apache.jsp.default_jsp:900)
at org.apache.jsp.default_jsp._jspx_meth_logic_present_1(org.apache.jsp.default_jsp:845)
at org.apache.jsp.default_jsp._jspService(org.apache.jsp.default_jsp:263)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.ricky.filter.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:33)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
2008-03-04 16:51:19 [日志信息] Servlet.service() for servlet jsp threw exception
org.hibernate.LazyInitializationException: could not initialize proxy - the owning Session was closed
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:53)
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:84)
at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:134)
at com.orm.MemberLevel$$EnhancerByCGLIB$$54d60d0d.getLevelName(<generated>)
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:585)
at org.apache.commons.el.ArraySuffix.evaluate(ArraySuffix.java:314)
at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145)
at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263)
at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:190)
at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:922)
at org.apache.jsp.default_jsp._jspx_meth_bean_message_7(org.apache.jsp.default_jsp:900)
at org.apache.jsp.default_jsp._jspx_meth_logic_present_1(org.apache.jsp.default_jsp:845)
at org.apache.jsp.default_jsp._jspService(org.apache.jsp.default_jsp:263)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
...全文
8132 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoyuuii 2012-05-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
Lazy问题可以通过加opensessioninviewfilter解决
在web.xml中加上
<filter>
<filter-name>openSessionInViewFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</f……
[/Quote]

我是这么解决的,但我不知道为什么。
「已注销」 2012-02-04
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 xiongyuanming 的回复:]
哦 我也是这写 咋 还是 org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.user.po.User.userstatuses, no session or session was closed

<set name="userstatuses" in……
[/Quote]
Hibernate.initialize(对象实例名)
talent_yyf 2011-11-28
  • 打赏
  • 举报
回复
非常感谢
hl_helloworld 2011-11-06
  • 打赏
  • 举报
回复
调用hibernate什么方法可以解决???
lxd123425 2011-10-26
  • 打赏
  • 举报
回复
围观.....
Howie02 2011-08-11
  • 打赏
  • 举报
回复
谢了啊。
BlueCloudShadow 2011-01-28
  • 打赏
  • 举报
回复
tong fasheng wenti
  • 打赏
  • 举报
回复
这样做问题是解决了,但实际上是不可取的,应该保持Hibernate的延迟加载,这样的处理更合理一些。
treesoft 2010-04-13
  • 打赏
  • 举报
回复
up......................................................
yangjieone 2010-03-26
  • 打赏
  • 举报
回复
我也搞定了,用的是二楼的方法。谢谢
xiongyuanming 2010-01-08
  • 打赏
  • 举报
回复
哦 我也是这写 咋 还是 org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.user.po.User.userstatuses, no session or session was closed

<set name="userstatuses" inverse="true" lazy="true">
<key>
<column name="UserID" not-null="true"/>
</key>
<one-to-many class="com.status.po.Userstatus" />
</set>

<many-to-one name="user" class="com.user.po.User" fetch="select">
<column name="UserID" not-null="true" />
</many-to-one>

Help,Help。。
xiongyuanming 2010-01-08
  • 打赏
  • 举报
回复
搞定了 用的是1楼的方式。
cpy9981 2010-01-04
  • 打赏
  • 举报
回复
受教了,谢谢!
softlytiger 2009-09-23
  • 打赏
  • 举报
回复
学习!
wearegouest 2009-09-09
  • 打赏
  • 举报
回复
学习中
youjianbo_han_87 2009-06-15
  • 打赏
  • 举报
回复
嗯,你的解决方法可以
rickyll 2008-03-07
  • 打赏
  • 举报
回复
多谢大家的支持,现在结帖了,帖子的积分将分给两位..
rickyll 2008-03-05
  • 打赏
  • 举报
回复
受教,
老紫竹 2008-03-05
  • 打赏
  • 举报
回复
无论怎么修改,记得在事务(session transation )里面,都是正常的,离开了事务,Lazy='true'的很可能不能用
rickyll 2008-03-04
  • 打赏
  • 举报
回复
1楼给的解决方案是不是跟spring和hibernate有关的配置?我对spring不熟!!

经过调试是 LAZY的问题.
我的解决办法是:
<many-to-one>里面的属性lazy="false"

<set>里面的属性lazy="true"
<one-to-many>
</set>

有不对的地方,请大家补充
加载更多回复(1)

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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