背景
2018年7月份,系統(tǒng)爆出一條bug。就是支持Excel導(dǎo)入的功能,導(dǎo)入第二次同模板不同數(shù)據(jù)時,報錯,違反唯一性約束。就死活用不了了,重啟Tomcat才能恢復(fù)使用。但只能到一個文件
創(chuàng)新互聯(lián)建站專注于企業(yè)成都全網(wǎng)營銷推廣、網(wǎng)站重做改版、麗江網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5建站、商城建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為麗江等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
分析
需要重啟Tomcat,應(yīng)該是緩存的原因
原因
分析完所有代碼,臨時數(shù)據(jù)使用clear換成new,不行;
內(nèi)存使用監(jiān)控,導(dǎo)入完模板,就恢復(fù)正常,不是;
最后,看著異常找原因,發(fā)現(xiàn)Hibernate的主鍵策略是strategy = "increment"
嘗試
會不會是hibernate主鍵策略選擇不正確,因為選擇的主鍵策略就是不能出現(xiàn)刪除。
收集
Hibernate所有的主鍵策略
https://www.cnblogs.com/hoobey/p/5508992.html
解決
選用程序自動生成主鍵策略,調(diào)整后strategy = "assigned"