如何对多对一关系强制执行孤立删除

发布于 2024-11-15 19:09:10 字数 395 浏览 3 评论 0 原文

@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 表示法?

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

How to enforce orphan deletion on a ManyToOne relationship, the above code snippet worked for us in Hibernate 3.3.x, but post migration to 3.6.5.Final it shows up as a WARNING in the code. is there a equivalent flag like orphanRemoval = true which is applied on a @OneToMany notation?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冰雪之触 2024-11-22 19:09:10

您无法将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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文