码迷,mamicode.com
首页 > 系统相关 > 详细

Hibernate 配置文件 细节 cascade inverse

时间:2014-06-26 13:44:36      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:hibernate 配置 关系caca

今天写东西,在配置关系时 ,随后就将cascade 配置, 而且配的值是false . 尼玛 ,结果很悲催,已启动就报错 ,弄得我云里雾里的,后来仔细检查发现原来是cascade在做该。现总结一下。顺便复习一下inverse .

1.cascade 层叠,有了它我们在操作删除和更新的时候会更加方便。只要在cascade的源头插入或者删除,所有cascade 的关系就会被动的插入或者删除。cascade 有一个值很重要,saveOrUpdate ,Hibernate根据这个属性值来判断一个对象时插入还是更新,如果这个对象的id 不存在那么就是insert ,否则就是update .

 

2.inverse 反转 。默认是false,就是说两端都来维护关系。这个意思就是说,如果一个student,teacher 表 。当一方在hbm的配置中set 中指定cascade 为true时,即表示关系由另一方来维护,换言之,甲方中的配置文件中设置cascade 为true,那么此时在甲方插入一条数据时不会影响乙方了。只有当乙方插入或删除数据时才会对甲方的进行操作。

所有在两方都配置cascade是不对的,一般情况下都将关系设置在多的一方。

 

3.cascade和inverse的区别

总结:cascade定义的是关系两端对象到对象的级联关系,而inverse定义的是关系和对象的级联关系。

两者的取值有:all  :sava+update+delete

none :所有的情况下都不进行级联操作。这是默认值

save-update:在执行sava /update/saveOrUpdate是进行级联操作

delete :在执行delete时执行级联操作。

Hibernate 配置文件 细节 cascade inverse,布布扣,bubuko.com

Hibernate 配置文件 细节 cascade inverse

标签:hibernate 配置 关系caca

原文地址:http://blog.csdn.net/u011598529/article/details/18367041

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!