JPA 外键删除限制
JPA Foreign Key Restrict On Delete
是否可以仅使用 JPA 注释而不是在数据库中强制执行 FK 约束?
我想 Restrict/No 删除操作以强制 FK 引用在父 table 中使用时不能被删除。但是,如果不在数据库级别添加 FK 约束,我无法完成此功能。
这是否可能,或者是否也需要将约束也添加到数据库中?
谢谢
不,这不可能。 JPA 依赖于 DB 来执行 FK 约束。
借助 Hibernate,您可以使用 @SqlDelete
提供自定义删除查询。你可以例如使用一个过程来检查约束是否会被违反。不过,我想这不是您要找的。
是否可以仅使用 JPA 注释而不是在数据库中强制执行 FK 约束? 我想 Restrict/No 删除操作以强制 FK 引用在父 table 中使用时不能被删除。但是,如果不在数据库级别添加 FK 约束,我无法完成此功能。
这是否可能,或者是否也需要将约束也添加到数据库中?
谢谢
不,这不可能。 JPA 依赖于 DB 来执行 FK 约束。
借助 Hibernate,您可以使用 @SqlDelete
提供自定义删除查询。你可以例如使用一个过程来检查约束是否会被违反。不过,我想这不是您要找的。