如何对多对一关系强制执行孤立删除
@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 表示法?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您无法将ORPHAN_REMOVAL应用于MANY_TO_ONE端。
假设您有一个实体 City,其中有 @OneToMany Citizen,另一边有 @ManyToOne 公民实体中的>城市。在您的场景中,删除一名公民将导致删除整个城市,因此 ORPHAN_REMOVAL 仅适用于 XXX_TO_Many 方
You can not apply ORPHAN_REMOVAL to MANY_TO_ONE side.
Suppose you have an entity City which has @OneToMany Citizen and on the other side you have @ManyToOne City in Citizen entity. In your scenario removing one citizen will lead to removing the whole city, thus ORPHAN_REMOVAL is only applicable to XXX_TO_Many side