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

hibernate -inverse

时间:2015-07-30 16:55:07      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

one to many

  inverse=false只能设置维护关联关系的多的一方,

  

inverse属性:
默认为false,表示本方维护关联关系。
如果为true,表示本方不维护关联关系(并不意味着对方维护)。
只是影响是否能设置外键列的值(设成有效值或是null值),对获取信息没有影响。

 

A,

  解除关联关系

  •    从员工方解除  可以直接解除
  • // 从部门方解除(与inverse有关系,为false时可以解除)

B. 删除

删除员工方(多方),对对方没有影响

// 删除部门方(一方)
// a, 如果没有关联的员工:能删除。
// b, 如果有关联的员工且inverse=true,由于不能维护关联关系,所以会直接执行删除,就会有异常
// c, 如果有关联的员工且inverse=false,由于可以维护关联关系,他就会先把关联的员工的外键列设为null值,再删除自己。

 

many to many

 

A.解除关联关系(中间表中记录删除)

 如果inverse=false就可以解除,如果为true就不可以解除

 

B,// 删除对象,对关联对象的影响

// a, 如果没有关联的对方:能删除。
// b, 如果有关联的对方且inverse=false,由于可以维护关联关系,他就会先删除关联关系,再删除自己。
// c, 如果有关联的对方且inverse=true,由于不能维护关联关系,所以会直接执行删除自己,就会有异常。

hibernate -inverse

标签:

原文地址:http://www.cnblogs.com/daxiong225/p/4689628.html

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