`
esffor
  • 浏览: 1363758 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hibernate的父子关系及inverse

阅读更多
天应用中碰到在插入记录时,中间表数据没写入
检查对应pojo的配置 有配置关联及对应的子表集合 在save之前也set了子表集合 仔细检查后发现是
inverse="true"的问题
<set name="roles" table="T_UserRole" lazy="false" inverse="true" cascade="save-update">
inverse="true"(默认是false) 表示主表对象本身不维护表之间的关系,而由相反的一方从表对象来维护,
所以在这个时候set 主表对象中的从表集合而不set 从表对象中的主表对象,在执行save方法时候时从表是
不会被保存的.
另外 这中间还存在一个效率的问题
针对每一个孩子都去更新父亲的id明显速度很慢,因为从表对象保存的是从表的集合,他无从得知其中哪一个对象的父ID已经指向自己了.而对于每一个子都有一个父,已经更新就不需要更新.所以显然,这个父子关系由孩子来维护比较省力.减轻了数据库的负担  

分享到:
评论

相关推荐

    inverse=true的总结

    3. **父子关系举例**: 假设我们有一个`Department`类(父)和`Employee`类(子)的关系,一个部门可以有多个员工,而一个员工只能属于一个部门。在不设置`inverse`属性的情况下,每次新增或删除员工,Hibernate会...

    hibernate_配置cascade_及all-delete-orphan.doc

    - 如果`cascade`属性未设置或设置为`null`,则当解除父子关系时(如上面的例子),只会将子实体的外键设为空,而不是直接删除子实体。 - 例如,执行以下代码: ```java customer.getOrders().remove(order); ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     7.2.3 父子关系  7.3 映射一对多双向自身关联关系  7.4 改进持久化类  7.5 小结  7.6 思考题 第8章 通过Hibernate操纵对象(上)  8.1 Java对象在JVM中的生命周期  8.2 理解Session的缓存  8.2.1 Session的...

    精通hibernate:对象持久化技术孙卫琴第二版part2

    7.2.3 父子关系 164 7.3 映射一对多双向自身关联关系 165 7.4 改进持久化类 171 7.5 小结 175 7.6 思考题 176 第8章 通过Hibernate操纵对象(上) 179 本章站在持久化层的角度,Java对象在生命周期中可处于...

    Hibernate one-to-many / many-to-one关系映射

    这种关系通常需要使用外键来维护,可以通过mappedBy属性指定被引用的一方,也可以通过inverse属性设置维护关系的责任方。 2. 一对多关系: 这表示一个实体可以与多个其他实体相关联,比如一个班级有多个学生。在...

    精通Hibernate:对象持久化技术第二版part3

    7.2.3 父子关系 164 7.3 映射一对多双向自身关联关系 165 7.4 改进持久化类 171 7.5 小结 175 7.6 思考题 176 第8章 通过Hibernate操纵对象(上) 179 本章站在持久化层的角度,Java对象在生命周期中可处于...

    Hibernate笔记.doc

    这种级联策略适用于具有父子关系的关联,即子对象的生命周期由父对象控制。 例如,`Customer`和`Order`类之间的一对多关系,`Customer`可以拥有多个`Order`。通过设置`inverse`和`cascade`属性,可以确保关联的正确...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part4

     7.2.3 父子关系  7.3 映射一对多双向自身关联关系  7.4 改进持久化类  7.5 小结  7.6 思考题 第8章 通过Hibernate操纵对象(上)  8.1 Java对象在JVM中的生命周期  8.2 理解Session的缓存  8.2.1 Session的...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part3

     7.2.3 父子关系  7.3 映射一对多双向自身关联关系  7.4 改进持久化类  7.5 小结  7.6 思考题 第8章 通过Hibernate操纵对象(上)  8.1 Java对象在JVM中的生命周期  8.2 理解Session的缓存  8.2.1 Session的...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part1.rar

     7.2.3 父子关系  7.3 映射一对多双向自身关联关系  7.4 改进持久化类  7.5 小结  7.6 思考题 第8章 通过Hibernate操纵对象(上)  8.1 Java对象在JVM中的生命周期  8.2 理解Session的缓存  8.2.1 Session的...

Global site tag (gtag.js) - Google Analytics