我刚刚被告知MySQL集群(使用NDB引擎)不支持跨集群的外键约束.使用JPA / Hibernate,如果数据库没有强制执行,你将如何强制引用完整性?一种选择是调用数据库以验证数据,然后如果有效则执行插入/更新/删除操作.由于存...
我刚刚被告知MySQL集群(使用NDB引擎)不支持跨集群的外键约束.
使用JPA / Hibernate,如果数据库没有强制执行,你将如何强制引用完整性?
一种选择是调用数据库以验证数据,然后如果有效则执行插入/更新/删除操作.由于存在性能影响,我有点不愿意采用这种方法.
问题:
>如果数据库中不支持外键检查,在使用带有JPA / Hibernate的MySQL群集时,通常如何强制执行参照完整性检查.
>如果手动检查是唯一的选择,我是否可以通过一次数据库完成手动检查交易? (可能作为CRUD操作的一部分)
解决方法:
我认为您无法使用任何Hibernate / JPA功能强制执行参照完整性.正如eggyal所提到的,你需要使用触发器在MySQL本身创建“程序化”外键.
MySQL网站上有一篇关于如何做到这一点的文章:http://dev.mysql.com/tech-resources/articles/mysql-enforcing-foreign-keys.html
本文标题为:java – 在MySQL集群上使用JPA / Hibernate进行外键约束检查
基础教程推荐
- 结合线程池实现apache kafka消费者组的误区及解决方法 2023-02-19
- SpringBoot实现动态定时任务的示例代码 2023-06-23
- jsp编程获取当前目录下的文件和目录及windows盘符的方法 2023-08-03
- Springboot迁移到Micronaut实现过程详解 2023-07-15
- BootStrap在jsp中的使用 2023-08-02
- JSP实现弹出登陆框以及阴影效果 2023-07-30
- 深入了解Java中Synchronized的各种使用方法 2023-04-06
- springboot 全局异常处理和统一响应对象的处理方式 2023-02-04
- jsp实现Servlet文件下载的方法 2023-08-03
- MyBatis实现配置加载的步骤 2023-07-15
