hibernate persist尝试创建具有现有id的对象失败

时间:2013-10-31 00:30:42

标签: java spring hibernate postgresql

我正在使用spring-hibernate-postgres。我有一张桌子说'some_entity'。它已包含一些记录。

我有一个程序试图创建新的SomeEntity对象。我用适当的属性填充该对象,然后我在其上调用persist()方法。

在日志中,我看到hibernate试图从表序列中获取nextVal()。但是,我的postgres返回的nextval与some_entity表的第2行的id相同。所以,我的hibernate尝试用该id创建行。因此我的persist()因hibernate约束违例异常而失败。

可能我没有正确地回答这个问题。我希望有人已经遇到过这个问题并且已经解决了这个问题。

由于

1 个答案:

答案 0 :(得分:1)

我有这个问题。我通过执行sql来解决它,在应用程序启动时更新序列

ALTER SEQUENCE names_id_seq RESTART WITH currentId;

,其中currentId来自

SELECT currval('names_id_seq');