ERROR SqlExceptionHelper:129 - ORA-00001: 违反唯一约束条件 (CRM.SYS_C007084)
出现个异常的原因其实就是oracle数据库的序列出了问题,oracle数据库本身默认主键id不自动增长,如果新插入的数据的id在数据库中已经被占用就会出现此类异常,此时仅需要修改数据库的序列即可解决问题。
方法步骤:
Hibernate: select hibernate_sequence.nextval from dual
Hibernate: insert into T_CUSTOMER (C_ADDRESS, C_BRITHDAY, C_COMPANY, C_DEPARTMENT, C_EMAIL, C_Fixed_AREA_ID, C_MOBILEPHONE, C_PASSWORD, C_POSITION, C_SEX, C_TELEPHONE, C_TYPE, C_USERNAME, C_ID) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
20:44:53,277 WARN SqlExceptionHelper:127 - SQL Error: 1, SQLState: 23000
20:44:53,277 ERROR SqlExceptionHelper:129 - ORA-00001: 违反唯一约束条件 (CRM.SYS_C007084)
1.通过异常信息获取查询数据库自身设置的序列当前值:;
select hibernate_sequence.nextval from dual;
2.删除数据库序列:
drop sequence hibernate_sequence;
3.自定义数据库序列:(开始的序列不要太小)
create sequence hibernate_sequence
minvalue 100
maxvalue 9999999999999999999
start with 100
increment by 1
cache 20;