【发布时间】:2015-12-16 07:45:40
【问题描述】:
我对 JPA 有点陌生,我的问题是,如果我在两个实体之间有以下父子关系。使用此设置(如下所示),是否可以仅使用命名查询(“从 parent.id:id 的子项中删除)删除子项,然后不从父子项集合中删除?我已经测试了这种方法只是使用命名查询而不是从父集合中删除子集合,它工作得很好,但我试图看看当我以这种方式删除它们时是否有任何重大影响。我不将它们删除到集合对象的原因是, Children 设置为 NOT nullable field parent id。非常感谢,期待您的回答:)
public class Parent {
ID.....
parentName...
@OneToMany(mappedBy = "parent", cascade = CascadeType.ALL,
fetch = FetchType.EAGER, orphanRemoval = true)
private List<Child> children;
}
public class Child {
id;
@ManyToOne(optional = false)
@JoinColumns({
@JoinColumn(name = "PARENT_ID", referencedColumnName = "ID", nullable = false)
})
private Parent parent;
}
【问题讨论】: