如果不创建双向关系,则在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中生成模式脚本的信息(这将简化编写自己的脚本的过程)。