hibernate初学9之级联操作与延迟加载
2017-08-06 13:06
357 查看
1.cascade级联操作
所谓cascade,如果有两个表,在更新一方的时候,可以根据对象之间的关联关系,去对被关联方进行相应的更新。比如说部门表和雇员表之间是一对多关系,使用cascade, 如删除部门表中的一条部门记录时,该部门下的所有雇员记录也自动删除。这种现象称为级联删除。当创建一个新的部门实例,该部门实例集合属性中保存有雇员。当该部门实例持久化时,自动将集合雇员也自动添加到数据库的雇员表中去。这称为级联增加。
1)all : 所有情况下均进行关联操作。
2)none:所有情况下均不进行关联操作。这是默认值。
3)save-update:在执行save/update/saveOrUpdate时进行关联操作。
4)delete:在执行delete时进行关联操作。
2.延迟加载
(1) 属性的延迟加载
在Hibernate3中,引入了一种新的特性—-属性的延迟加载,这个机制为获取高性能查询提供了有力的工具。如Person表有一个人员图片字段(对应java.sql.Clob类型)属于大数据对象,当我们加载该对象时,我们不得不每一次都要加载这个字段,而不论我们是否真的需要它,而且这种大数据对象的读取本身会带来很大的性能开销。我们可以如下配置我们的实体类的映射文件:
2)对方的延迟加载
当存在一对多关系时,例如读取部门表时在不需要立即加载该部门下的雇员时,可以设置延迟加载,只有通过部门对象.getemp()函数才可以真正的读取,可以这样设置延迟加载在部门表中
3.fetch:该属性指定Hibernate的抓取策略,该属性值只能是join(使用外连接抓取)和select(使用选择抓取)两个值的其中之一。
所谓cascade,如果有两个表,在更新一方的时候,可以根据对象之间的关联关系,去对被关联方进行相应的更新。比如说部门表和雇员表之间是一对多关系,使用cascade, 如删除部门表中的一条部门记录时,该部门下的所有雇员记录也自动删除。这种现象称为级联删除。当创建一个新的部门实例,该部门实例集合属性中保存有雇员。当该部门实例持久化时,自动将集合雇员也自动添加到数据库的雇员表中去。这称为级联增加。
1)all : 所有情况下均进行关联操作。
2)none:所有情况下均不进行关联操作。这是默认值。
3)save-update:在执行save/update/saveOrUpdate时进行关联操作。
4)delete:在执行delete时进行关联操作。
2.延迟加载
(1) 属性的延迟加载
在Hibernate3中,引入了一种新的特性—-属性的延迟加载,这个机制为获取高性能查询提供了有力的工具。如Person表有一个人员图片字段(对应java.sql.Clob类型)属于大数据对象,当我们加载该对象时,我们不得不每一次都要加载这个字段,而不论我们是否真的需要它,而且这种大数据对象的读取本身会带来很大的性能开销。我们可以如下配置我们的实体类的映射文件:
2)对方的延迟加载
当存在一对多关系时,例如读取部门表时在不需要立即加载该部门下的雇员时,可以设置延迟加载,只有通过部门对象.getemp()函数才可以真正的读取,可以这样设置延迟加载在部门表中
3.fetch:该属性指定Hibernate的抓取策略,该属性值只能是join(使用外连接抓取)和select(使用选择抓取)两个值的其中之一。
相关文章推荐
- java-hibernate框架4(hibernate多表操作,级联操作与延迟加载,多对多关系操作,hibernate缓存技术)
- 【Hibernate】(4)Hibernate的多表操作、级联操作与延迟加载
- json解决hibernate中级联对象延迟加载问题net.sf.json.JSONException: org....
- json解决hibernate中级联对象延迟加载有关问题
- JPA中的一对多双向关联、级联操作、关系维护、延迟加载
- JPA中的多对多双向关联、级联操作、关系维护、延迟加载
- Hibernate级联操作和加载机制(二) cascade and fetch
- json解决hibernate中级联对象延迟加载问题net.sf.json.JSONException: org....
- hibernate的级联、延迟加载、inverse属性
- [原创]关于Hibernate中的级联操作以及懒加载
- 关于Hibernate中的级联操作以及懒加载
- hibernate 延迟加载 级联 删除
- Hibernate级联操作和加载机制(一) cascade and fetch
- 传智播客jpa详解视频教程(七):JPA中的一对多双向关联与级联操作、延迟加载与关系维护
- jpa的联合主键,级联操作和延迟加载
- Hibernate延迟加载和即时加载
- Hibernate深入浅出(七)持久层操作——数据加载
- Hibernate中延迟加载和缓存
- hibernate面试题 --- Hibernate是如何延迟加载的
- Hibernate是如何延迟加载的