hibernate一对多配置
2013-12-26 16:19
113 查看
一\hibernate(cascade,lazy,inverse,fetch)
1.cascade是否执行级联操作
<set name="children" lazy="true" cascade="all">在保存主表的时候,如果没有保存从表信息,会抛出异常,如果设置了级联关系,可以自动先保存从表,在保存主表
all: 所有情况下均进行关联操作,即save-update和delete。 none: 所有情况下均不进行关联操作。这是默认值。 save-update: 在执行save/update/saveOrUpdate时进行关联操作。 delete: 在执行delete 时进行关联操作。
2.inverse指定哪一方不控制关联关系,一般在set上(1端不维护)
<set name="children" lazy="true" inverse="true">3.lazy :延迟加载
<class name=”mypack.Customer” table=”CUSTOMER” lazy=”false”>在集合属性上,可以配置懒加载策略,取值为:true/false/extra
true:默认取值,它的意思是只有在调用这个集合获取里面的元素对象时,才发出查询语句,加载其集合元素的数据
false:取消懒加载特性,即在加载对象的同时,就发出第二条查询语句加载其关联集合的数据
extra:一种比较聪明的懒加载策略,即调用集合的size/contains等方法的时候,hibernate并不会去加载整个集合的数据,而是发出一条聪明的SQL语句,以便获得需要的值,只有在真正需要用到这些集合元素对象数据的时候,才去发出查询语句加载所有对象的数据
Hibernate 的延迟加载(lazy load)本质上就是代理模式的应用
4.fetch :抓取策略,类似于lazy
<class name=”mypack.Customer” table=”CUSTOMER” fetch =”join”>fetch="join”:类似于lazy=false,一次性查完
fetch="select”:类似于lazy=true
相关文章推荐
- 通过Hibernate配置获取数据库表的具体信息
- hibernate3配置详解
- Hibernate中的Inverse和cascade属性配置
- 如何在Hibernate log中显示所执行的sql的参数值 (以logback.xml的配置为例子)
- Hibernate各种主键生成策略与配置详解
- Hibernate配置Log4J
- Hibernate(三)之配置文件详解
- hibernate学习(1)——hibernate4的配置
- Hibernate配置详细解释
- hibernate中的配置文件hibernate.cfg.xml的详解总结
- Hibernate的学习之路十九(一对多的JavaBean编写和映射的配置文件的编写)
- Hibernate关联关系配置(一对多、一对一和多对多)
- hibernate spring 事务配置
- Hibernate4实战之Hibernate4注解零配置 浏览(88173)|评论(0) 交流分类:Java|笔记分类: 未分类 @Entity,注册在类头上,将一个类声明为一个实体bean
- [Z]hibernate+proxool配置
- 基础篇intellij 配置hibernate(二)
- Hibernate环境配置以及使用方法
- Hibernate的核心配置文件和API
- (Hibernate学习篇) 配置Hibernate
- Hibernate 配置