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时执行级联操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值