小编典典

JPA orphanRemoval=true 与 ON DELETE CASCADE DML 子句有何不同

all

我对 JPA 2.0orphanRemoval属性有点困惑。

我想当我使用我的 JPA 提供者的数据库生成工具来创建底层数据库 DDL 以具有ON DELETE CASCADE特定关系时,我可以看到它是必需的。

但是,如果数据库存在并且它已经有一个ON DELETE CASCADE关系,这还不足以适当地级联删除吗?除此之外还有什么作用orphanRemoval

干杯


阅读 73

收藏
2022-06-21

共1个答案

小编典典

orphanRemoval无关ON DELETE CASCADE

orphanRemoval是完全 特定于 ORM 的东西
。当不再从“父”实体引用时,它标记要删除的“子”实体,例如,当您从父实体的相应集合中删除子实体时。

ON DELETE CASCADE特定于数据库的东西 ,当删除“父”行时,它会删除数据库中的“子”行。

2022-06-21