Inverse属性,是在维护关联关系的时候起作用的。
表示控制权是否转移。(在一的一方起作用)
Inverse , 控制反转。
false 不反转: 当前方有控制权
true 控制反转: 当前方没有控制权
维护关联关系中,是否设置inverse属性:
1.保存数据
有影响。
如果设置控制反转,即inverse=true, 然后通过部门方维护关联关系。在保存部门的时候,同时保存员工,数据会保存,但关联关系不会维护。即外键字段为NULL
2.获取数据
无影响
3.解除关联关系
有影响
false: 可以解除关联
true : 当前方(部门)没有控制权,不能解除关联关系
(不会生成update语句,也不会报错)
4.删除数据对关联关系的影响
有影响
false,有控制权, 可以删除。先清空外键引用,再删除数据。
true, 没有控制权: 如果删除的记录有被外键引用,会报错,违反主外键引用约束!
如果删除的记录没有被引用,可以直接删除。