如何使用主键自动递增将值列表存储在数据库中
我有这个主键

@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/

10-13 08:06