您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Spring Data JPA:如何在不引用父级中的子级的情况下启用级联删除?

Spring Data JPA:如何在不引用父级中的子级的情况下启用级联删除?

如果不创建双向关系,则在JPA级别上是不可能的。您需要在User类中指定级联类型。User应该是关系的所有者,并且应该提供有关如何处理关系的信息PasswordResetToken

但是,如果您不能建立双向关系,我建议您直接在模式生成sql脚本中设置关系。

如果您通过sql脚本而不是通过JPA自动生成来创建架构(我相信所有严肃的项目都必须遵循这种模式),则可以在其中添加ON DELETE CASCADE约束。

它看起来像这样:

CREATE TABLE password_reset_tokens (
  -- columns declaration here
  user_id INT(11) NOT NULL,
  CONSTRAINT FK_PASSWORD_RESET_TOKEN_USER_ID
  FOREIGN KEY (user_id) REFERENCES users (id)
    ON DELETE CASCADE
);

这是有关如何在Spring Boot中使用数据库迁移工具的文档。这是有关如何从hibernate中生成模式脚本的信息(这将简化编写自己的脚本的过程)。

Java 2022/1/1 18:16:50 有556人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶