本文主要是介绍hibernate的父子关系及inver,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
inverse="true"的问题
inverse="true"(默认是false) 表示主表对象本身不维护表之间的关系,而由相反的一方从表对象来维护,
所以在这个时候set 主表对象中的从表集合而不set 从表对象中的主表对象,在执行save方法时候时从表是
不会被保存的.
另外 这中间还存在一个效率的问题
针对每一个孩子都去更新父亲的id明显速度很慢,因为从表对象保存的是从表的集合,他无从得知其中哪一个对象的父ID已经指向自己了.而对于每一个子都有一个父,已经更新就不需要更新.所以显然,这个父子关系由孩子来维护比较省力.减轻了数据库的负担
所以需要在one-to-many的one端即(父端)设置inverse="true"由孩子来维护关系
这篇关于hibernate的父子关系及inver的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!