Hibernate-Inverse属性

来源:互联网 发布:人工智能 估值 编辑:程序博客网 时间:2024/06/05 03:43

Inverse属性,是在维护关联关系的时候起作用的。

      表示控制权是否转移。(在一的一方起作用)

Inverse , 控制反转。

false  不反转:   当前方有控制权

true  控制反转: 当前方没有控制权

 

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

         1.保存数据

                  有影响。

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

                  

         2.获取数据

                   无影响

         3.解除关联关系

                   有影响

                  false: 可以解除关联

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

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

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

                   有影响

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

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

如果删除的记录没有被引用,可以直接删除。

原创粉丝点击