`
xhy0422
  • 浏览: 279278 次
社区版块
存档分类
最新评论

hibernate的父子关系及inverse

阅读更多

inverse="true"的问题
inverse="true" cascade="save-update">
inverse="true"(默认是false) 表示主表对象本身不维护表之间的关系,而由相反的一方从表对象来维护,
所以在这个时候set 主表对象中的从表集合而不set 从表对象中的主表对象,在执行save方法时候时从表是
不会被保存的.
另外 这中间还存在一个效率的问题
针对每一个孩子都去更新父亲的id明显速度很慢,因为从表对象保存的是从表的集合,他无从得知其中哪一个对象的父ID已经指向自己了.而对于每一个子都有一个父,已经更新就不需要更新.所以显然,这个父子关系由孩子来维护比较省力.减轻了数据库的负担

所以需要在one-to-many的one端即(父端)设置inverse="true"由孩子来维护关系

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics