可能原因:
当<class>元素或者<set>元素的lazy属性为true时,load() or get() or find()加载这些对象时,Hibernate不会马上产生任何select语句,只是产生一个Obj代理类实例,只有在session没有关闭的情况下运行Obj.getXxx()时才会执行select语句从数据库加载对象,如果没有运行任何Obj.getXxx()方法,而session已经关闭,Obj已成游离状态,此时再运行Obj.getXxx()方法,Hibernate就会抛出"Could not initialize proxy - the owning Session was closeed"的异常,是说Obj代理类实例无法被初始化。然而想在Session关闭之前不调用Obj.getXxx()方法而关闭Session之后又要用,此时只要在Session关闭之前调用Hibernate.initialize(Obj)或者Hibernate.initialize(Obj.getXxx())即可,net.sf.hibernate.Hibernate类的initialize()静态方法用于在Session范围内显示初始化代理类实例。
解决方法:
所以,在映射文件中,将lazy属性设为false即可,
<class name="cssduty.table.Team" table="team" catalog="duty"
lazy="false">
转自:http://www.iteye.com/topic/164219
分享到:
相关推荐
hibernate 中的lazy属性的使用
Dwr+Hibernate的Lazy问题 解决了Hibernate延迟加载失效问题
Hibernate 的 lazyload 在FLEX中的解决方法例子 用的是gilead 因为LIB包太大上传很慢所以被我删掉了。
NULL 博文链接:https://xuwoool.iteye.com/blog/1306207
Hibernate延时加载与lazy机制.docHibernate延时加载与lazy机制.doc
NULL 博文链接:https://quicker.iteye.com/blog/662613
Hibernate 的延迟加载(lazy load)是一个被广泛使用的技术。这种延迟加载保证了应用只有在需要时才去数据库中抓取相应的记录。通过延迟加载技术可以避免过多、过早地加载数据表里的数据,从而降低应用的内存开销。...
深入理解hibernate懒加载技术,正确使用懒加载
博文链接:https://llying.iteye.com/blog/221699
Lazyload是通过延迟加载来实现按需加载,达到节省资源,加快浏览速度的目的。 网上也有不少类似的效果,这个Lazyload主要特点是: 支持使用window(窗口)或元素作为容器对象; 对静态(位置大小不变)元素做了大量...
懒加载案例 lazyload 自己做了一个懒加载的案例,供大家参考
jquery.lazyload图片预加载 调用简单 内有实例
图片延迟加载,可以增加用户体验,jQuery图片延迟加载插件jQuery.lazyload,使用延迟加载在可提高网页下载速度。在某些情况下,它也能帮助减轻服务器负载。
优化网站加载速度,使用lazyload.js,有完整的demo,有jquery.lazyload.js和jquery-1.11.0.min.js
JQuery LazyLoad 图片懒加载实例,相关描述可查看我的博文“JQuery.LazyLoad 实现图片懒加载”
JQuery Lazyload加载图片实例
Hibernate fetch lazy cascade inverse 关键字
用于显示动态加载的图片如何通过JQuery.LazyLoad控件实现延迟加载,可惜目前例子在谷歌浏览器下还有些问题
主要介绍了hibernate 中 fetch=FetchType.LAZY 懒加载失败处理方法,需要的朋友可以参考下
解决 JPA 中 Lazy 加载的问题,可以在 setUp() 函数中加入以下代码: ```java SessionFactory sessionFactory = lookupSessionFactory(request); Session hibernateSession = getSession(sessionFactory); ...