背景
2018年7月份,系统爆出一条bug。就是支持Excel导入的功能,导入第二次同模板不一样数据时,报错,违反惟一性约束。就死活用不了了,重启Tomcat才能恢复使用。但只能到一个文件html
分析
须要重启Tomcat,应该是缓存的缘由缓存
缘由
分析完全部代码,临时数据使用clear换成new,不行;
内存使用监控,导入完模板,就恢复正常,不是;
最后,看着异常找缘由,发现Hibernate的主键策略是strategy = "increment"ide
尝试
会不会是hibernate主键策略选择不正确,由于选择的主键策略就是不能出现删除。hibernate
收集
Hibernate全部的主键策略htm
解决
选用程序自动生成主键策略,调整后strategy = "assigned"内存