【发布时间】:2020-07-15 10:00:43
【问题描述】:
我有一个 OneToMany 关系,孩子们也有 OneToMany 关系......
我需要按上次修改排序祖父,但修改可以是子孙...所以,我有一个修改的列,但是当我更改子孙时我需要更新它。
有什么方法可以自动将列从子/孙更新为父?
【问题讨论】:
标签: hibernate jpa spring-data
我有一个 OneToMany 关系,孩子们也有 OneToMany 关系......
我需要按上次修改排序祖父,但修改可以是子孙...所以,我有一个修改的列,但是当我更改子孙时我需要更新它。
有什么方法可以自动将列从子/孙更新为父?
【问题讨论】:
标签: hibernate jpa spring-data
对我来说,这是其中实体的父属性必须具有 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 个对象的审计字段。
我们倾向于认为我们总是必须使用惰性关系,并且在大多数情况下都是如此,但有时在实体很少的场景中,使用急切的关系类型可以让我们的生活更轻松。
【讨论】: