如果要删除父实体之一,则需要删除子实体。
现在孩子的实体将被删除,如果父母都被删除,我需要改变行为。
例如,如果您有:
class Parent1 {
@Id
Long id;
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
Set<Child> children = new HashSet();
}
class Parent2 {
@Id
Long id;
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
Set<Child> children = new HashSet();
}
class Child {
@Id
Long id;
@ManyToOne
Parent1 p1;
@ManyToOne(fetch = FetchType.EAGER)
Parent2 p2;
}
我试着用一些组合来删除孤儿,但没有成功。你还有别的建议吗?
1条答案
按热度按时间6jjcrrmo1#
我把这种逻辑简单地放在一个删除父级的方法中。它还将删除另一个父级。这种方法可以活在
Child
等级或单独服务。请注意,当前缺少Map
mappedBy
双向关系的值。