JPA如何使用关联关系而不自动在表中添加外键约束

关于数据库要不要使用外键,这个争论一直在持续,大家可以随便上网搜搜,一堆一堆

我个人的建议是在开发和测试环境使用外键(防止程序员的低级错误),在生产环境去掉外键(性能是王道)

JPA在实现关联关系(onetoone,onetomany,manytoone,manytomany)的时候,默认是会帮你自动在数据库中建立外键的,这种自作主张的行为非常讨厌,那么如何让其不自动建立外键呢。

网上有很多文章不负责任的转载,使用@ForeignKey(name = “null”),我呢负责任的告诉各位,毛用没有,还会报错,正确的使用方式是@ForeignKey(name = “none”),但是呢这个@ForeignKey是hibernate中deprecated的注解,并不是jpa实现最优雅的解决方案。那么JPA的方案是什么呢?

 

就是这样,搞定

 

声明:如未作说明,则本文为 渣滓洞【解旻的博客】 原创。转载务必注明出处
注意:转载须保留全文,如需修改请联系作者

本文永久地址:http://xieminis.me/?p=389