Hibernate懒加载策略
2008-12-26 11:01
197 查看
Hibernate懒加载策略
2.lazy[/b]的生命周期[/b]与session相同,lazy加载必须依赖于session一直开启。
3.Hibernate lazy属性,在3.x后是默认打开的,在以前版本中默认是关闭的。
4.hibernate通过cjlib实现代理。
只对普通属性的延迟加载有效,不包括集合和其他类属性。
需要类增强器来对实体类的Class文件进行强化处理。
在Hibernate3中,引入了一种新的特性——属性的延迟加载,这个机制又为获取高性能查询提供了有力的工具。比如它可以用于一个复杂对象中某个属性是一个大文本,我们不想再加载这个对象时浪费太多时间,那么我们就可以使用属性推后加载。
如果设置为true,那么就会在该集合被加载时发出SQL语句。
如果设置为false,那么在发出查询普通属性sql时就会随后发出集合的查询语句。
如果设置为extra,与设置为true类似,但相对智能,建议在实际工作中选用extra.
[/b]/false/noproxy
如果设置为proxy[/b],那么就会在类对象被加载时发出SQL语句。
如果设置为false,那么在发出查询普通属性sql时就会随后发出类对象的查询语句。
概念
Lazy的概念就是只有在真正使用对象时,才会去创建。对hibernate而言,就是真正加载时才发出加载Sql语句。 延迟加载机制是为了避免一些无谓的性能开销而提出来的。重点牢记
1.Load支持延迟加载,get不支持延迟加载。2.lazy[/b]的生命周期[/b]与session相同,lazy加载必须依赖于session一直开启。
3.Hibernate lazy属性,在3.x后是默认打开的,在以前版本中默认是关闭的。
4.hibernate通过cjlib实现代理。
配置类型
Class
true[/b]/false只对普通属性的延迟加载有效,不包括集合和其他类属性。
Property
true[/b]/false需要类增强器来对实体类的Class文件进行强化处理。
在Hibernate3中,引入了一种新的特性——属性的延迟加载,这个机制又为获取高性能查询提供了有力的工具。比如它可以用于一个复杂对象中某个属性是一个大文本,我们不想再加载这个对象时浪费太多时间,那么我们就可以使用属性推后加载。
集合<set><List>
true[/b]/false/extra如果设置为true,那么就会在该集合被加载时发出SQL语句。
如果设置为false,那么在发出查询普通属性sql时就会随后发出集合的查询语句。
如果设置为extra,与设置为true类似,但相对智能,建议在实际工作中选用extra.
One-to-one,many-to-one[单端关联]
proxy[/b]/false/noproxy
如果设置为proxy[/b],那么就会在类对象被加载时发出SQL语句。
如果设置为false,那么在发出查询普通属性sql时就会随后发出类对象的查询语句。
相关文章推荐
- hibernate的懒加载和抓取策略解析
- Hibernate的持久化对象加载策略
- Hibernate中的取策略延迟加载(翻译hibernate官方文挡19章部分内容)
- hibernate集合的加载策略
- 使用hibernate的延迟加载策略
- Rhythmk 学习 Hibernate 03 - Hibernate 之 延时加载 以及 ID 生成策略
- Hibernate-缓存/懒加载/抓取策略
- HIBERNATE的持久化对象加载策略
- Hibernate的性能分析--懒加载、抓取策略、缓存策略
- Hibernate中的取策略延迟加载
- 【转】hibernate延迟加载和抓取策略
- Hibernate 加载策略
- SSH与SSM学习之hibernate22——类级别加载策略
- 理解Hibernate延迟加载策略
- Hibernate懒加载策略
- Hibernate懒加载与抓取策略解析
- Hibernate懒加载策略
- 【JavaWeb-21】多对多关系、类和关联级别的加载策略、HQL查询详解、Hibernate连接池配置、Hibernate里悲观锁乐观锁使用
- Hibernate懒加载策略
- Hibernate 延迟加载(懒加载)与抓取策略