Eclipse Link @CascadeOnDelete无效

时间:2018-03-28 16:08:38

标签: java sql spring spring-data eclipselink

我正在使用EclipseLink并拥有以下配置文件

orm.xml中 enter image description here

的pom.xml

enter image description here

由于这个注释可以从版本2.2获得,并且我的配置说版本2.6.3所以它必须工作,我将注释应用为描述here,但它不起作用,我在删除时遇到异常我的父母实体。但是,在数据库级别添加ON DELETE CASCADE后,我可以删除。我想知道由于无法从注释中实现它而遗漏了什么。

在我的orm.xml中有一个下载xsd(即2.0)的网址,它会导致并且不明白它实际上是什么以及正在使用的eclipse链接的实际版本。

1 个答案:

答案 0 :(得分:0)

@CascadeOnDelete告诉JPA你有" ON DELETE CASCADE"数据库中使用的选项,因此它不会发出删除语句并让数据库执行此操作。假设删除完成,它将从缓存中清除缓存引用。如果你没有" ON DELETE CASCADE"数据库选项集,那么你不应该使用@CascadeOnDelete而是让JPA级联删除或在应用程序中手动处理它。

您引用的ORM xsd是用于验证ORM的模式。它是针对JPA规范的第2版创建的,并且没有任何说明或影响您决定使用的EclipseLink版本,只要它实现JPA。