Hibernate3错误:could not initialize proxy – no Session的解决办法

前段时间在项目中出现以下错误:

org.hibernate.LazyInitializationException: could not initialize proxy - no Session
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:57)
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)


网上查了很多文章,说是因为hibernate的延迟加载问题。解决方法是:

<many -to-one>   和 <set> 中设置 lazy="false"
</set></many>

但操作中发现,这样会导致性能的大幅度下降,由于项目的关联的表格比较多,造成没刷新一次要执行非常多的SQL语句。

由于项目采用的ssh框架,因此使用spring的OpenSessionInViewFilter过滤器,重新测试下,性能提升很多。如果采用ssh,出现以上问题,可以加上这个过滤器。

	<filter>
	</filter><filter -name>openSessionInViewFilter</filter>
		<filter -class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter>	

	<filter -mapping>
		</filter><filter -name>openSessionInViewFilter</filter>
		<url -pattern>/*</url>

随机日志

  • Ubuntu试用记
    1、在DIGG.COM看到一则新闻Ubuntu and Its Leader Set Sights on the Mainstream ,而且据说越南政府在强行推广Ubutu,要求各级政府机构的IT部门必须(must)在今年6月底之前将全部服务器(系统)改换成Linux操作系统及相关开源软件产品。 这也不失为在经济危机下的一项措施,这不也是奥巴马先生所提倡的。 2、下载下来试用了一下,感觉最...
  • WPS的“信息权限管理”无法访问
    个人认为:“信息权限管理”(KRM)是金山的一大亮点,信息管理是wps2005利用XrML让用户通过登陆金山通行证来进行保护文档中的内容。相对应的是微软的IRM,但微软的IRM指提供试用。这也是我为什么一直选用wps的原因。 但从WPS2007起,金山开始不提供KRM模块,在竞争如此激烈的办公软件市场,能够为用户提供更多贴心的服务的产品,才能赢得用户的认可。 打开Openoffice,...
  • jqGrid例子文件下载
    最近慵懒了很多,很少来上面博一博,发下jqGrid的例子的全部文件。 jqGrid 由于文件太大,删掉了所有的jar包,jar是整合struts2.1+spring2.5+hibernate3.2...
  • 固执的坚持
    刚刚从徐MM转载了一篇文章—蜘蛛的爱情。不禁想起刚看完的连续剧《白领公寓》。 1、白领公寓里讲的主要是珍惜眼前人。有时候,人固执的坚持自己心中的一个梦想,带着这个理由去做这些事情,可是事实上这些并不是真正适合他的。 2、另一个方向:两个长久相爱的人也不一定是真正的合适,是否也是一种固执的坚持,觉得说既然在一起就要一直的坚持,可事实上真正和他合适的,可以天长地久的在旁边的那一位。从这个角...
  • Json下的Positioned Update not supported解决方法
    今天使用json输出的时候报了这个错误,原因找了一下,发现使用hibernate自动生成的一些类会出现这个情况,主要是因为hibernate使用了延迟加载所造成的缘故。 因为我的系统前台使用的jquery-easeyui的dataGrid表格,所以,只能重新建一个类来进行。代码如下 package com.mrzeng.action; import java.util.Array...

PO一下