删除时的 JPA 外键限制

问题描述

是否可以仅使用 JPA 注释而不在数据库中强制执行 FK 约束? 我想在删除时限制/无操作以强制 FK 引用在父表中使用时不能被删除。但是,如果不在 DB 级别添加 FK 约束,我无法完成此功能

这是可能的还是需要将约束也添加数据库中?

谢谢

解决方法

不,这不可能。 JPA 依赖 DB 来强制执行 FK 约束。

借助 Hibernate,您可以使用 @SqlDelete 提供自定义删除查询。你可以例如使用一个过程来检查约束是否会被违反。不过,我想这不是您要找的。​​p>