重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
背景
2018年7月份,系统爆出一条bug。就是支持Excel导入的功能,导入第二次同模板不同数据时,报错,违反唯一性约束。就死活用不了了,重启Tomcat才能恢复使用。但只能到一个文件
创新互联建站专注于企业成都全网营销推广、网站重做改版、丽江网站定制设计、自适应品牌网站建设、HTML5建站、商城建设、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为丽江等各大城市提供网站开发制作服务。
分析
需要重启Tomcat,应该是缓存的原因
原因
分析完所有代码,临时数据使用clear换成new,不行;
内存使用监控,导入完模板,就恢复正常,不是;
最后,看着异常找原因,发现Hibernate的主键策略是strategy = "increment"
尝试
会不会是hibernate主键策略选择不正确,因为选择的主键策略就是不能出现删除。
收集
Hibernate所有的主键策略
https://www.cnblogs.com/hoobey/p/5508992.html
解决
选用程序自动生成主键策略,调整后strategy = "assigned"