【发布时间】:2013-11-10 07:16:47
【问题描述】:
我有一些由 Hibernate 管理的具有各种外键约束的表。 Cascade on delete 目前由 Hibernate 单独管理。为了玩弄测试数据,我经常手动创建和删除一些行。如果我可以将 ON DELETE CASCADE 添加到外键约束中,这将对我有很大帮助,但我不知道 Hibernate 是否会遇到此问题,因为数据库会在 Hibernate 之前删除内容。
很多人似乎都专注于 DDL。我的意图是不指示 Hibernate 使用 SQL DELETE CASCADE 创建 DDL。我只想知道如果我在数据库中指定一个 ON DELETE CASCADE 除了在参考注释上使用 JPA 的 cascade = CascadeType.REMOVE 是否会造成任何伤害,例如 @ManyToOne。
【问题讨论】:
-
我认为上面的答案仅涵盖 Hibernate 管理的 Cascade,但我认为这就是您要寻找的:stackoverflow.com/questions/16502481/…
-
答案是关于 DDL 创建,这对我来说并不重要。我想知道 DB 级别的 CASCADE 是否适用于 Hibernate。有一个
@OnDelete注释的事实可能证明它是。 -
这只是一个起点。我不确定是否同意这只是关于 DDL。一些进一步的研究可能会让您找到 Gavin King 本人的一些 cmets:mail-archive.com/hibernate-devel@lists.sourceforge.net/…