Spring Data.删除父实体之一时删除子实体



如果父实体中的一个被删除,我需要删除我的子实体。

现在,如果父母都被删除,我需要改变行为,子实体将被删除。

例如:

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;
}

我尝试使用一些组合与孤儿院移除,但它没有工作。你有其他的建议吗?

我会将这种逻辑简单地放在一个删除父元素的方法中。然后,它也会删除另一个父节点。此方法可以存在于Child类或单独的服务上。

注意,当前您的映射缺少双向关系的mappedBy值。

相关内容

  • 没有找到相关文章

最新更新