我正在尝试优化我们的hibernate应用程序。在许多地方,在添加/更新实体的集合时,我们首先清除它,然后从输入中再次添加它们。我觉得不知怎的,应该有一个更好的方法,但还没有找到。
你如何在你的申请中做到。?
答案 0 :(得分:0)
我猜对于收藏,你的意思是@OneToMany
关系的“很多”方面。
在这种情况下,您可以在拥有类中的外部引用的orphanRemoval
注释中指定值@OneToMany
:
public class Parent {
// ...
@OneToMany(mappedBy = "whatever", orphanRemoval = true, cascade = CascadeType.ALL)
private List<Child> children;
}
orphanRemoval
将指示Hibernate删除父实体持久化时已从集合中删除的所有现有子实体。