如何使用主键自动递增将值列表存储在数据库中
我有这个主键
@Id
@GeneratedValue(generator = "increment")
@Column(name = "ParamKey")
public long getParamKey() {
return paramKey;
}
public void setParamKey(long paramKey) {
this.paramKey = paramKey;
}
它正在插入一行,并显示异常
java.lang.RuntimeException: a different object with the same identifier value was already associated with the session:
最佳答案
那可能是问题所在:
实际上,当您部署应用程序时,休眠存储最大id并将其连续增加1。但是同时,如果直接在数据库中插入该值,则将导致问题,因为您的休眠意识不到这一点。
因此,在下一次插入时,它会将sequence_id + 1分配给下一行,但是它已经存在于数据库中
因此它将给您主键约束错误。
关于java - 如何使用主键自动递增将值列表存储在数据库中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16769020/