Hibernate 配置文件 细节 cascade inverse

今天写东西,在配置关系时 ,随后就将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,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。