org.hibernate.LazyInitializationException: could not initialize proxy - no Sessi

bizige 2013-09-21 11:05:38
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:167)
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:215)
at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:190)
at com.bizi.persistence.uniorder.Optlog_$$_javassist_8.getOptid(Optlog_$$_javassist_8.java)
at com.bizi.logic.opt.manager.OptLogManagerTest.testLoad(OptLogManagerTest.java:44)
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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)


hibernate3在load时遇到session关闭的情况。
源代码:
Optlog optlog = new Optlog();
try {
optlog = optLogManager.find(1);
System.out.println(optlog.getOptid());
} catch (Exception e) {
e.printStackTrace();
}


web.xml中已经配置了openSessionView,如下:
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
<init-param>
<param-name>sessionFactoryBeanName</param-name>
<param-value>sessionFactory</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


application.xml中的事务管理也删掉了,还是不行。

如果用get就可以获取,或者在Optlog.hbm.xml中设置lazy=“false”也可以获取。唯独load报这个错误。
如何是好。
...全文
339 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bizige 2013-09-21
  • 打赏
  • 举报
回复
引用 1 楼 tengyue5i5j 的回复:
楼主问题解决了没? 同求,今天我也遇到了这个问题,好郁闷啊! 网上说的方法都试了,还是不行!
不过这个问题已经解决了,是我看错了。貌似junit和定时器去跑的时候就是会遇到session关闭的问题。我用action请求就好了。因为定时器一直在跑,我误将定时器日志看作是action报出来的了。定时器不行可以理解,为啥junit也不行,你那有没有解决办法?
bizige 2013-09-21
  • 打赏
  • 举报
回复
引用 2 楼 licip 的回复:
optLogManager.find(1); 这个方法你是不是在里面单独获取了session来操作的,没有用模板中的方法来处理的。

private IOptLogTxservice optLogTxservice = (IOptLogTxservice) BaseService.getBeanStatic("IOptLogTxservice");	
public Optlog find(int id){
		Optlog optlog = optLogTxservice.load(Optlog.class, id);
		return optlog;
	}
不过这个问题已经解决了,是我看错了。貌似junit和定时器去跑的时候就是会遇到session关闭的问题。我用action请求就好了。因为定时器一直在跑,我误将定时器日志看作是action报出来的了。
licip 2013-09-21
  • 打赏
  • 举报
回复
optLogManager.find(1); 这个方法你是不是在里面单独获取了session来操作的,没有用模板中的方法来处理的。
tengyue5i5j 2013-09-21
  • 打赏
  • 举报
回复
楼主问题解决了没? 同求,今天我也遇到了这个问题,好郁闷啊! 网上说的方法都试了,还是不行!

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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