Hibernate:更新实体集合的正确方法是什么?

时间:2017-12-09 16:18:42

标签: spring hibernate jpa

我正在尝试优化我们的hibernate应用程序。在许多地方,在添加/更新实体的集合时,我们首先清除它,然后从输入中再次添加它们。我觉得不知怎的,应该有一个更好的方法,但还没有找到。

你如何在你的申请中做到。?

1 个答案:

答案 0 :(得分:0)

我猜对于收藏,你的意思是@OneToMany关系的“很多”方面。

在这种情况下,您可以在拥有类中的外部引用的orphanRemoval注释中指定值@OneToMany

public class Parent {

    // ...

    @OneToMany(mappedBy = "whatever", orphanRemoval = true, cascade = CascadeType.ALL)
    private List<Child> children;  

}

orphanRemoval将指示Hibernate删除父实体持久化时已从集合中删除的所有现有子实体。