Hibernate设置约束“ON UPDATE CASCADE”

时间:2016-09-19 07:37:55

标签: java postgresql hibernate jpa cascade

如果要使用带有 ON DELETE CASCADE 的外键,可以使用@OnDelete注释在休眠中执行此操作。它强制hibernate为表生成一个具有适当外键约束的DDL。

我现在正在寻找的是告诉hibernate使用 ON UPDATE CASCADE 创建约束的可能性。遗憾的是,hibernate中没有@OnUpdate注释。 如何通过外键的 ON UPDATE CASCADE 约束告诉hibernate为表生成DDL?

2 个答案:

答案 0 :(得分:0)

你能使用@Cascade注释吗?

@Cascade(CascadeType.SAVED_UPDATE)

答案 1 :(得分:0)

如果你使用hibernate本机API,那么你应该使用hibernate的注释进行级联,它是:

<强>&GT; @Cascade(CascadeType.SAVED_UPDATE)

然后你调用save()方法但是使用你的注释,你应该调用JPA的方法persist() 请查看hibernate文档以获取更多详细信息。

  

http://docs.jboss.org/hibernate/stable/annotations/reference/en/html_single/#entity-hibspec-cascade

以下是一些可能有用的级联操作。

  

CascadeType.PERSIST:表示save()或persist()操作        级联到相关实体。

     

CascadeType.MERGE:表示相关        当拥有实体时,实体合并为托管状态        合并。

     

CascadeType.REFRESH:对refresh()做同样的事情        操作

     

CascadeType.REMOVE:删除所有相关实体        删除拥有实体时与此设置的关联。

     

CascadeType.DETACH:如果是“手册”,则分离所有相关实体        脱离“发生。

     

CascadeType.ALL:是上述所有内容的简写        级联操作。