Hibernate框架-inverse属性

来源:互联网 发布:数控机床的数据参数 编辑:程序博客网 时间:2024/06/03 16:33

Inverse属性

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

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

 

Inverse , 控制反转。

Inverse = false  不反转;   当前方有控制权

                   True  控制反转; 当前方没有控制权

 

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

         1.保存数据

                   有影响。

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

                  

         2.获取数据

                   无。

         3.解除关联关系?

                   有影响。

                  inverse=false 可以解除关联

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

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

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

                   有影响。

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

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


具体案例:【待续】


原创粉丝点击