Hibernate---延迟加载
2010-02-06 18:52
302 查看
Hibernate
懒加载策略
概念
Lazy
的概念就是只有在真正使用对象时,才会去创建。对
hibernate
而言,就是真正加载时才发出加载
Sql
语句。
延迟加载机制是为了避免一些无谓的性能开销而提出来的。
重点牢记
1.Load
支持延迟加载,get
不支持延迟加载。
2.lazy
的生命周期
与session
相同,lazy
加载必须依赖于session
一直开启。
3.Hibernate lazy
属性,在3.x
后是默认打开的,在以前版本中默认是关闭的。
4.hibernate
通过
cjlib
实现代理。
配置类型
Class
true
/false
只对普通属性的延迟加载有效,不包括集合和其他类属性。
Property
true
/false
需要类增强器来对实体类的
Class
文件进行强化处理。
在
Hibernate3
中,引入了一种新的特性
——
属性的延迟加载,这个机制又为获取高性能查询提供了有力的工具。比如它可以用于一个复杂对象中某个属性是一个大文本,我们不想再加载这个对象时浪费太多时间,那么我们就可以使用属性推后加载。
集合
true
/false/extra
如果设置为
true
,那么就会在该集合被加载时发出
SQL
语句。
如果设置为
false
,那么在发出查询普通属性
sql
时就会随后发出集合的查询语句。
如果设置为
extra
,与设置为
true
类似,但相对智能,建议在实际工作中选用
extra.
One-to-one,many-to-one[
proxy
/false/noproxy
如果设置为
proxy
,那么就会在类对象被加载时发出
SQL
语句。
如果设置为
false
,那么在发出查询普通属性
sql
时就会随后发出类对象的查询语句。
懒加载策略
概念
Lazy的概念就是只有在真正使用对象时,才会去创建。对
hibernate
而言,就是真正加载时才发出加载
Sql
语句。
延迟加载机制是为了避免一些无谓的性能开销而提出来的。
重点牢记
1.Load支持延迟加载,get
不支持延迟加载。
2.lazy
的生命周期
与session
相同,lazy
加载必须依赖于session
一直开启。
3.Hibernate lazy
属性,在3.x
后是默认打开的,在以前版本中默认是关闭的。
4.hibernate
通过
cjlib
实现代理。
配置类型
Class
true/false
只对普通属性的延迟加载有效,不包括集合和其他类属性。
Property
true/false
需要类增强器来对实体类的
Class
文件进行强化处理。
在
Hibernate3
中,引入了一种新的特性
——
属性的延迟加载,这个机制又为获取高性能查询提供了有力的工具。比如它可以用于一个复杂对象中某个属性是一个大文本,我们不想再加载这个对象时浪费太多时间,那么我们就可以使用属性推后加载。
集合
<set><List>
true/false/extra
如果设置为
true
,那么就会在该集合被加载时发出
SQL
语句。
如果设置为
false
,那么在发出查询普通属性
sql
时就会随后发出集合的查询语句。
如果设置为
extra
,与设置为
true
类似,但相对智能,建议在实际工作中选用
extra.
One-to-one,many-to-one[
单端关联
]
proxy/false/noproxy
如果设置为
proxy
,那么就会在类对象被加载时发出
SQL
语句。
如果设置为
false
,那么在发出查询普通属性
sql
时就会随后发出类对象的查询语句。
相关文章推荐
- 延迟加载 ERROR org.hibernate.LazyInitializationException:42 - could not initialize proxy - ...
- spring+hibernate避免延迟加载异常
- Hibernate中的延迟加载
- (十六)Hibernate中的延迟加载
- Spring-data-jpa 集成Hibernate时延迟加载问题
- Hibernate 延迟加载
- hibernate 延迟加载 无效 解决办法 json
- hibernate检索小结之——查询优化和延迟加载
- hibernate延迟加载lazy的原理,以及为什么session关闭会报错
- Hibernate的延迟加载
- Hibernate 的延迟加载(懒加载)简介1
- hibernate面试题 --- Hibernate是如何延迟加载的
- Hibernate中用proxy(代理)实现类的延迟加载
- @ResponseBody返回jsonView对Hibernate延迟加载出现的问题
- hibernate中延迟加载的设定(懒加载的设定)
- Hibernate 延迟加载充分体现了代理模式的优势
- hibernate延迟加载(get和load的区别)
- Hibernate学习——之延迟加载
- Hibernate延迟加载机制
- hibernate延迟加载的传说级错误org.hibernate.LazyInitializationException: could not initialize proxy - no Session