关于JPA2多对多关系的CASCADE DELETE

关于JPA2多对多关系的CASCADE DELETE,第1张

关于JPA2多对多关系的CASCADE DELETE

不支持

ON DELETECASCDADE
在JPA中生成DDL。级联的REMOVE *** 作的概念不是DDL级别的构造。级联是关于级联的生命周期 *** 作,该 *** 作针对的是实体到相关实体。它们与数据库中的级联无关。在JPA
2.0规范中,解释如下:

如果X是新实体,则remove *** 作将忽略它。但是,如果从X到这些其他实体的关系用cascade = REMOVE或cascade =
ALL标注元素值标注,则移除 *** 作将层叠到X引用的实体。

如果X是一个受管实体,则删除 *** 作会使它被删除。如果从X到这些其他实体的关系使用层叠= REMOVE或层叠=
ALL标注元素值标注,则remove *** 作将层叠到X引用的实体。

此外,REMOVE不应与@ManyToMany一起使用(来自JPA 2.0规范):

关系建模注释限制了cascade = REMOVE规范的使用。级联=删除规范仅应应用于指定为OneToOne或OneToMany的关联。将Cascade
= REMOVE应用于其他关联的应用程序不可移植。

生成

ON DELETE CASCDADE
DDL
涉及到什么,Hibernate中有供应商扩展@OnDelete:

@onDelete(action=OnDeleteAction.CASCADE)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4963087.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存