我有一个OneToMany关系,孩子们也有OneToMany关系...
我需要通过最后一次修改来订购祖父,但是修改可以是子代或孙子……所以,我有一个修改后的列,但是当我更改子代或孙子时,我需要对其进行更新。
有什么方法可以自动将列从子代/孙代更新为父代?
答案 0 :(得分:0)
对我来说,这是其中实体的父属性必须具有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个对象的审核字段。
我们倾向于认为我们总是必须使用懒惰关系,在大多数情况下都是这样,但是有时在实体很少的情况下,使用渴望的关系类型可以使我们的生活更轻松。