当前位置: 代码迷 >> Java Web开发 >> 一个很蛋疼的有关问题,关于Duplicate entry '584' for key 'PRIMARY'
  详细解决方案

一个很蛋疼的有关问题,关于Duplicate entry '584' for key 'PRIMARY'

热度:911   发布时间:2016-04-16 21:59:52.0
一个很蛋疼的问题,关于Duplicate entry '584' for key 'PRIMARY'
本帖最后由 jiaqiangm 于 2014-08-13 11:17:09 编辑
对的,没错,就是这个问题。。有用的日志就是:
Hibernate: insert into record (coupon_useFlag, create_date, number, spare_one, spare_two, states, userId) values (?, ?, ?, ?, ?, ?, ?)
Loading XML bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml]
SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]
Hibernate-related JDBC operation; SQL []; Duplicate entry '584' for key 'PRIMARY'; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '584' for key 'PRIMARY'Hibernate-related JDBC operation; SQL []; Duplicate entry '584' for key 'PRIMARY'; nested exception is c

然后那些584的错误就一直在死循环了。。。不停地写日志,一直写到崩溃。
实在找不出原因了。
本来已经把584那条记录给删除了。可是还是不顶用啊。
save方法也是用hibernate的方法直接save的,没有指定主键ID值。
实体类也是
	@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id", updatable = false)
private Integer id;

我实在是找不出原因了。


重启了又没问题,过了一段时间,估计是晚上,又来了。也是这个提示,也是提示584什么的。。但是我的记录数远远超过了啊。。。
------解决方案--------------------
将错误日志多贴点。你现在的日志看不出来 

------解决方案--------------------
584是不是级联对象的id, 级联保存了。  
------解决方案--------------------
会不会是主键冲突了?实在不行,重新建立数据库,然后插入数据试一试呀
------解决方案--------------------
主键冲突了,是什么数据库?主键是否为自增长?Oracle的话,重新设置主键关联序列的索引值;MySql或者SQLServer的话充值设置自增长的初始值。
  相关解决方案