首页 > Web开发 > 详细

Hibernate主键生成策略strategy = "increment"报错违反唯一性约束

时间:2018-07-23 15:45:06      阅读:194      评论:0      收藏:0      [点我收藏+]
背景
2018年7月份,系统爆出一条bug。就是支持Excel导入的功能,导入第二次同模板不同数据时,报错,违反唯一性约束。就死活用不了了,重启Tomcat才能恢复使用。但只能到一个文件

分析
需要重启Tomcat,应该是缓存的原因

原因
分析完所有代码,临时数据使用clear换成new,不行;
内存使用监控,导入完模板,就恢复正常,不是;
最后,看着异常找原因,发现Hibernate的主键策略是strategy = "increment"

尝试
会不会是hibernate主键策略选择不正确,因为选择的主键策略就是不能出现删除。

收集
Hibernate所有的主键策略

https://www.cnblogs.com/hoobey/p/5508992.html

解决
选用程序自动生成主键策略,调整后strategy = "assigned"

技术分享图片

Hibernate主键生成策略strategy = "increment"报错违反唯一性约束

原文:http://blog.51cto.com/zl0828/2149041

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!