如果要使用带有 ON DELETE CASCADE 的外键,可以使用@OnDelete
注释在休眠中执行此操作。它强制hibernate为表生成一个具有适当外键约束的DDL。
我现在正在寻找的是告诉hibernate使用 ON UPDATE CASCADE 创建约束的可能性。遗憾的是,hibernate中没有@OnUpdate
注释。
如何通过外键的 ON UPDATE CASCADE 约束告诉hibernate为表生成DDL?
答案 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:是上述所有内容的简写 级联操作。