【问题标题】:Update parent when any child is update with Hibernate当任何孩子使用 Hibernate 更新时更新父级
【发布时间】:2020-07-15 10:00:43
【问题描述】:

我有一个 OneToMany 关系,孩子们也有 OneToMany 关系......

我需要按上次修改排序祖父,但修改可以是子孙...所以,我有一个修改的列,但是当我更改子孙时我需要更新它。

有什么方法可以自动将列从子/孙更新为父?

【问题讨论】:

    标签: hibernate jpa spring-data


    【解决方案1】:

    对我来说,这是其中实体的父属性必须具有 Eager 类型与级联合并类型的关系的情况之一。

    作为父母的渴望属性,在3个级别(祖父,父亲,孙子)的关系中,您将最多带3个不会惩罚记忆的对象。

    这与级联类型合并将允许您执行以下操作:

    granchild.setField1(1)
    granchild.setField2(2)
    granchild.setDateMod(new Date());
    granchild.getParent().setDateMod(new Date());
    granchild.getParent().getParent().setDateMod(new Date());
    
    entityManager.merge(granchild);
    

    以这样一种方式,您将更新 3 个对象的审计字段。

    我们倾向于认为我们总是必须使用惰性关系,并且在大多数情况下都是如此,但有时在实体很少的场景中,使用急切的关系类型可以让我们的生活更轻松。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多