如何在ManyToOne关系上强制执行孤立删除

时间:2011-06-18 04:12:57

标签: java hibernate jpa jpa-2.0 many-to-one

@ManyToOne(fetch = LAZY)
@JoinColumn(name = COL_GROUP_ID, nullable = false, insertable = false, updatable = false, referencedColumnName = COL_ID)
@OnDelete(action = CASCADE)
@Cascade(value = DELETE_ORPHAN)
private Group group;

如何对ManyToOne关系强制执行孤儿删除,上面的代码片段在Hibernate 3.3.x中为我们工作,但是迁移到3.6.5.Final它在代码中显示为警告。是否有一个等效的标志,如orphanRemoval = true,它应用于@OneToMany表示法?

1 个答案:

答案 0 :(得分:0)

您不能将 ORPHAN_REMOVAL 应用于 MANY_TO_ONE 一侧。

假设您有一个实体 City ,该实体具有 @OneToMany Citizen ,另一方面,您拥有一个 @ManyToOne 市民实体中的城市。在您的方案中,删除一个公民会导致整个城市迁移,因此 ORPHAN_REMOVAL 仅适用于 XXX_TO_Many 一方