ORA-00001: 違反唯一約束條件(SOLEX.SYS_C0012537) --解決方法
1、錯誤
Caused by: java.sql.BatchUpdateException:ORA-00001: 違反唯一約束條件 (SOLEX.SYS_C0012537)
2、分析
①通過SYS_C0012537找到對應的表
select a.constraint_name,a.constraint_type,b.column_name,b.table_name
from user_constraints a inner join user_cons_columns b on a.table_name=b.table_name
where a.constraint_name='SYS_C0012537' --引號里面的是主鍵的名稱(SOLEX.SYS_C0012537)
②同hbm.xml文件找到主鍵的自增序列名稱
SEQ_FEEPAY_COST_D
③到數據庫序列sequences查找該序列名稱:SEQ_FEEPAY_COST_D,然后修改下一個ID的值
或者select SEQ_FEEPAY_COST_D.nextval as summaryId from dual c 一直增序列,排除掉重復的
3.若數據庫中該字段已經設置可為空,但插入的時候還是出現這個錯誤,最后把Check constraints中該字段關了(disable)就可以了。
原文1.2:https://blog.csdn.net/beinlife/article/details/76180156