码迷,mamicode.com
首页 > Web开发 > 详细

Hibernate inverse属性和cascade属性

时间:2015-07-28 10:54:37      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:

Inverse属性

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

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

 

Inverse , 控制反转。

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

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

 

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

         1.保存数据

                   有影响。

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

                  

         2.获取数据

                   无。

         3.解除关联关系?

                   有影响。

                  inverse=false  可以解除关联

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

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

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

                   有影响。

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

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

cascade 属性

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

         none         不级联操作, 默认值

         save-update     级联保存或更新

         delete                 级联删除

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

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

 

 

hibernate常见面试题: inverse与cascade区别?


版权声明:本文为博主原创文章,未经博主允许不得转载。

Hibernate inverse属性和cascade属性

标签:

原文地址:http://blog.csdn.net/u014010769/article/details/47100157

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!