hibernate中lazy的使用:
lazy,延迟加载
Lazy的有效期:只有在session打开的时候才有效;session关闭后lazy就没效了
lazy策略可以用在:
* <class>标签上:可以取值true/false
* 设置<class>标签中的lazy="true",或是保持默认(即不配置lazy属性)
* 如果lazy的属性值为true,那么在使用load方法加载数据时,只有确实用到数据的候 才会发出sql语句;这样有可能减少系统的开销。
* <property>标签上,可以取值true/false,这个特性需要类增强
* <set>/<list>等集合上,可以取值为true/false/extra
*true:它的意思是只有在调用这个集合获取里面的元素对象时,才发出查询语句,加载其集合元素的数据
*false:取消懒加载特性,即在加载对象的同时,就发出第二条查询语句加载其关联集合的数据
*extra:一种比较聪明的懒加载策略,即调用集合的size/contains等方法的时候,hibernate并不会去加载整个集合的数据,而是发出一条聪明的SQL语句,以便获得需要的值,只有在真正需要用到这些集合元素对象数据的时候,才去发出查询语句加载所有对象的数据
* <one-to-one>/<many-to-one>等标签上,可以取值false/proxy/no-proxy
* false:取消懒加载策略,即在加载对象的同时,发出查询语句,加载其关联对象
* proxy:这是hibernate对单端关联的默认懒加载策略,即只有在调用到其关联对象的方法的时候才真正发出查询语句查询其对象数据,其关联对象是代理类
* no-proxy:这种懒加载特性需要对类进行增强,使用no-proxy,其关联对象不是代理类
在class标签上配置的lazy属性不会影响到关联对象!!!
分享到:
相关推荐
Hibernate 的 lazyload 在FLEX中的解决方法例子 用的是gilead 因为LIB包太大上传很慢所以被我删掉了。
NULL 博文链接:https://xuwoool.iteye.com/blog/1306207
NULL 博文链接:https://quicker.iteye.com/blog/662613
hibernate 中的lazy属性的使用
Dwr+Hibernate的Lazy问题 解决了Hibernate延迟加载失效问题
Hibernate延时加载与lazy机制.docHibernate延时加载与lazy机制.doc
博文链接:https://llying.iteye.com/blog/221699
Hibernate fetch lazy cascade inverse 关键字
Flex+Gilead+BlazeDS+Spring+Hibernate示例Demo,使用1:n和m:n两个双向关系,很好的演示了Gilead的Hibernate Lazy Killer特性,借助Gilead可以有效规避DTO模式的大量繁琐代码。效果图展示地址:...
博文链接:https://llying.iteye.com/blog/221700
NULL 博文链接:https://afuer.iteye.com/blog/1508008
Hibernate 的延迟加载(lazy load)是一个被广泛使用的技术。这种延迟加载保证了应用只有在需要时才去数据库中抓取相应的记录。通过延迟加载技术可以避免过多、过早地加载数据表里的数据,从而降低应用的内存开销。...
Hibernate中Cascade和inverse的区别,讲解的很详细
001 Hibernate 简介(开源 O/R 映射框架) 002 第一个 Hibernate 示例 003 hibernate 主要接口介绍 004 持久对象的生命周期介绍 005 query 接口初步 006 开源 O/R 映射框架内容回顾 007 Hibernate 基本映射标签和属性...
Hibernate环境搭建 Hibernate主要接口 Hibernate主要映射 Hibernate的lazy、fetch、cascade等策略 Hibernate性能优化
hibernate映射lazy策略hibernate查询语言hql
In this article I want to discuss the lazy loading mechanism provided by NHibernate. It is recommended for maximum flexibility to define all relations in your domain as lazy loadable. This is the ...
每当Hibernate重新加载一个包含组件的对象,如果该组件的所有字段为空,Hibernate将假定整个组件为空。 在大多数情况下,这样假定应该是没有问题的。 组件的属性可以是任意一种Hibernate类型(包括集合, 多对多关联...
2.4.1 Hibernate的核心接口 2.4.2 事件处理接口 2.4.3 Hibernate映射类型接口 2.4.4 可供扩展的接口 2.5 小结 2.6 思考题 第3章 第一个Hibernate应用 3.1 创建Hibernate的配置文件 3.2 创建持久化类...
19.1.7. 使用延迟属性抓取(Using lazy property fetching) 19.2. 二级缓存(The Second Level Cache) 19.2.1. 缓存映射(Cache mappings) 19.2.2. 策略:只读缓存(Strategy: read only) 19.2.3. 策略:读/...