我对 JPA 2.0orphanRemoval属性有点困惑。
orphanRemoval
我想当我使用我的 JPA 提供者的数据库生成工具来创建底层数据库 DDL 以具有ON DELETE CASCADE特定关系时,我可以看到它是必需的。
ON DELETE CASCADE
但是,如果数据库存在并且它已经有一个ON DELETE CASCADE关系,这还不足以适当地级联删除吗?除此之外还有什么作用orphanRemoval?
干杯
orphanRemoval无关ON DELETE CASCADE。
orphanRemoval是完全 特定于 ORM 的东西 。当不再从“父”实体引用时,它标记要删除的“子”实体,例如,当您从父实体的相应集合中删除子实体时。
ON DELETE CASCADE是 特定于数据库的东西 ,当删除“父”行时,它会删除数据库中的“子”行。