【发布时间】:2018-01-08 14:48:12
【问题描述】:
我用 Spring Web 和 Hibernate 开发了一个 REST-API。 我将它部署在两个服务器实例中,它运行了大约 5 个月没有任何问题。现在它大部分都在工作,但在某些时期“MySQLIntegrityConstraintViolationException”会抛出消息“Duplicate entry '235648' for key 'PRIMARY'”(重复的 id 在例外)。
引发异常的类如下所示:
@Entity
@Table(name = "Metadata", catalog = "data")
public class Metadata{
private Long id;
private String field1;
private String field2;
//...
@Id
@Column(unique = true, nullable = false)
@GeneratedValue(strategy = GenerationType.TABLE)
public Long getId() {
return id;
}
//More Getters and Setters...
}
Java 代码没有变化,MySql 数据库也没有变化。 您知道它为什么停止正常工作吗?
【问题讨论】:
-
您是否在数据库中手动输入了一些行?
-
生成表是hibernate创建的吗?还是数据库中已经存在一个?
-
设置
GenerationType.AUTO -
@KedarJoshi:没有。我没有输入任何行。
-
@MaciejKowalski:是的,表是由 hibernate 创建的,并且工作了几个月。
标签: java spring hibernate jpa primary-key