- 2
- 0
- 约7.98千字
- 约 10页
- 2017-06-12 发布于北京
- 举报
04
hibernate 中inverse cascade属性(转)
在hibernate中一对多关联时会经常用到inverse和cascade属性 ,inverse 有两个值 true ,false? ;如果设置为true 则表示对象的状态变化不会同步到数据库 ;设置false就相反拉;cascade 有五个选项 分别是: all ,delete ,none,save-update,delete-orphan ;??????? all : 所有情况下均进行关联操作。??????? none:所有情况下均不进行关联操作。这是默认值。??????? save-update:在执行save/update/saveOrUpdate时进行关联操作。??????? delete:在执行delete时进行关联操作。 ??????? delete-orphan:?当save/update/saveOrUpdate时,相当于save-update ;当删除操作时,相当于delete ;all的意思是save-update + deleteall-delete-orphan 的意思是当对象图中产生孤儿节点时,在数据库中删除该节点all比较好理解,举个例子说一下all-delete-orphan:Category与Item是一对多的关系,也就是说Category类中有个Set类型的变量items.举个例子,现items中存两个Item, item1,item2,如果定义关系为all-delete-orphan当items中删除掉一个item(比如用remove()方法删除item1),那么被删除的Item类实例将变成孤儿节点,当执行category.update(),或session.flush()时hibernate同步缓存和数据库,会把数据库中item1对应的记录删掉
测试Hibernate中的三个属性:lazy,inverse,cascade
【测试环境】一对多关系的两张表:boy、girl(一个男孩可以多个女朋友)
?boy表结构?Field?? Type?????????------? -----------??name??? varchar(50)? pk?age???? varchar(50)?
?girl表结构?Field?? Type?????????------? -----------??name??? varchar(50)? pk?bf????? varchar(50)? fk
?ER图
?
【保存时:Inverse与cascade】
?创建三个girl对象和一个boy对象,让这是三个girl都是boy的女朋友
? ---------创建对象的代码片段-----------??Boy boy = new Boy(tom,23, null);
??Set girls = new HashSet();????Girl g[] = new Girl[]{?????????? ???????????? new Girl(Alice1, boy),????????????????????? ? new Girl(Alice2, boy),?????????? ???????????? new Girl(Alice3, boy)};??girls.add(g[0]);??girls.add(g[1]);??girls.add(g[2]);????boy.setGirls(girls);??在Boy.hbm.xml中设置,然后对boy对象进行保存。
?1.Inverse = true,不指定cascade?? cascade的默认值为none, 当对boy进行保存操作时,girl什么都不做. 所以只保存了boy对象, 没有保存girl对象
?2.Inverse = true,cascade=all?? boy与girl对象,包扩外键都成功保存。?? (生成3条SELECT语句和4条INSERT语句,一下简称SELECT 3, INSERT 4)
?3.Inverse = false,不指定cascade?? 报错。因为boy为主控方,负责维护关系,所以在插入boy对象后,会尝试修改并不存在的girl对象。
?4.Inverse = false,cascade=all?? boy与girl对象,包扩外键都成功保存。?? (SELECT 4, INSERT 4, UPDATE 3)
?? 分析:除了4条INSERT语句之外,其他的6条语句是我们为了图方便付出的代价:3条SELECT语句用来判断girl对象是否在数据表中已经存在,3条UPDATE语句
您可能关注的文档
- GPRS工作原理以及其通信协议.doc
- GPS车辆监控管理系统,邮政运输GPS车辆调度管理方案.doc
- GRE写作Issue翻译加提纲new.doc
- GRE满分女生学习秘笈:克服惰性zzzzzzzzzzzzzzzzzzz.doc
- GSM与GPRS的区别.doc
- GS教师用报参考NO10(19-20期).doc
- gulp简单的demo入门.docx
- G字开头的人名反应.doc
- H2S废气制酸设计方案.doc
- HALFADAY自己整理中英对照课文翻译.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
原创力文档

文档评论(0)