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