通过可嵌入的主键进行Hibernate级联删除

时间:2012-02-10 12:55:43

标签: hibernate cascade

我有一个由可嵌入对象组成的PK。

它是由两个约束

组成的

@ManyToOne SpecificType1规范; @ManyToOne SpecificType1规范;

所以基本上是两个对象之间的映射表。

我想基于实现这个可嵌入PK的对象级联删除。

我在SpecificType1上添加了@Cascade({CascadeType.DELETE,CascadeType.DELETE_ORPHAN}),但它不会执行级联。

1 个答案:

答案 0 :(得分:1)

这个级联没有意义。

您有许多Foo个实体具有相同的SpecificType1(ManyToOne)。而且您正在配置Hibernate,这样如果您删除其中一个Foo个实例,它也会删除SpecificType1。这显然会使所有其他Foo实体与未发送的SpecificType1建立关联,这会破坏外键约束,并导致回滚。