码迷,mamicode.com
首页 > 系统相关 > 详细

hibernate 1对多 inverse配置

时间:2014-07-28 23:32:24      阅读:336      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   java   使用   数据   html   div   

    在使用hibernate对1对多这种模型进行操作时,总发现多方的外键不能保存,一直为空,百度后发现是inverse的配置错误

    根据自己的测试,如下表所示:(1方配置inverse,多方不配置)

inverse setMain sql条数 数据库结果
true set 1条 正确
false set 2 正确
true 未操作 1 明细表缺少外键
false 未操作 2 正确

从上表中可以看出:

 只有inverse==true,并且在多方未维护1方时,结果会出错。

其余条件下,均得到正确结果。

 

分析:

inverse指定由谁来维护外键关系,
如果==false,则由自己(1方)控制
生成sql语句会产生insert update 两条
如果==true,则由对方(多方)进行维护。
只会生成insert 1条语句,提高数据库效率

 

结论:

在1对多关联关系中,一般将多方设置为主控方(同时需要在多方维护关联关系), 这样将有助于改善性能,不需要在insert后再update,直接insert即可。
 
 
参考资料:
 

hibernate 1对多 inverse配置,布布扣,bubuko.com

hibernate 1对多 inverse配置

标签:style   blog   http   java   使用   数据   html   div   

原文地址:http://www.cnblogs.com/malaya/p/3873260.html

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