@CascadeOnDelete和CascadeType.REMOVE注释之间有什么区别?

npo*_*aka 10 java sql jpa eclipselink

起初我已经预料到,CascadeType.REMOVE我将能够删除表中的外键,但我有一个例外.但是@CascadeOnDelete没关系.两个注释之间有什么区别?

编辑:我已经看到了DataNucleus的评论.关于删除的过程来自org.eclipse.persistence.annotations.CascadeOnDelete.Which提出了一个问题,如何使用好主意.

Paw*_*ure 6

当您使用CascadeType.Remove时,级联将由ORM工具处理,但是当您希望数据库处理级联时,您可以使用@ CascadeOnDelete.but当您使用@CascadeOnDelete时,请确保您是数据库使用应该支持级联.

  • 这取决于你如何使用它.如果你希望你的代码严格遵守JPA规范,那么你不应该使用CascadeOnDelete.But,如果你确定如果不改变你的JPA提供者那么使用CascadeonDelete可能会有用.有关更多信息,请参阅[link](http://wiki.eclipse.org/EclipseLink/Examples/JPA/DeleteCascade) (3认同)