Hibernate关键字inverse和cascade

本文详细介绍了数据库中关联关系的维护与级联操作,包括设置inverse属性、级联方式(none、save-update、delete、all)、删除数据对关联关系的影响及解除关联关系的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

维护关联关系中,是否设置inverse属性:

        1. 保存数据

                 有影响。

           如果设置控制反转,inverse=true, 然后通过部门方维护关联关系。在保存部门的时候,同时保存员工, 数据会保存,但关联关系不会维护。即外键字段为NULL

        2. 获取数据

                 无。

        3. 解除关联关系?

                 有影响。

                inverse=false  可以解除关联

inverse=true  当前方(部门)没有控制权,不能解除关联关系

(不会生成update语句,也不会报错)

        4. 删除数据对关联关系的影响?

                 有影响。

                 inverse=false, 有控制权, 可以删除。先清空外键引用,再删除数据。

                 inverse=true,  没有控制权: 如果删除的记录有被外键引用,会报错,违反主外键引用约束!  如果删除的记录没有被引用,可以直接删除。

 

cascade  表示级联操作  【可以设置到一的一方或多的一方】

        none          不级联操作, 默认值

        save-update     级联保存或更新

        delete                 级联删除

        save-update,delete    级联保存、更新、删除

        all                 同上。级联保存、更新、删除

转载于:https://my.oschina.net/u/242479/blog/520933

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值