【发布时间】:2015-06-24 04:27:21
【问题描述】:
有个有点奇怪的问题,不知道JPA是否支持这个:
我有一个@Entity Child 和另外两个实体@Entity Parent1 和@Entity Parent2。
我想做的是在 Parent1 和 Child 之间建立 @OneToMany 关系,在 Parent2 和 Child 之间建立另一个 @OneToMany 关系。
原因是我希望 Childs 在 Parent1 被删除时被删除,而 Childs 在 Parent2 被删除时被删除。
我尝试了很多组合,但我无法让它发挥作用......
TL;DR:任何没有 Parent1 和 Parent2 的 Child 都应该被删除。
这是我现在的代码(省略 @Id 和 getter/setter):
@Entity
class Parent1 {
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
Set<Child> childs;
}
@Entity
class Parent2 {
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
Set<Child> childs;
}
@Entity
class Child {
String name;
}
谢谢,
【问题讨论】:
标签: java spring hibernate jpa spring-data-jpa