【问题标题】:hibernate persist fails tries to create object with existing idhibernate persist 失败尝试创建具有现有 id 的对象
【发布时间】:2013-10-31 00:30:41
【问题描述】:

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

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

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

可能是我的问题措辞不正确。我希望有人已经遇到过这个问题并有解决方案。

谢谢

【问题讨论】:

标签: java spring hibernate postgresql


【解决方案1】:

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

ALTER SEQUENCE names_id_seq RESTART WITH currentId;

,我从哪里得到 currentId

SELECT currval('names_id_seq');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-19
    • 1970-01-01
    • 2019-01-27
    • 2021-09-17
    • 1970-01-01
    • 2020-12-13
    • 2020-08-17
    • 1970-01-01
    相关资源
    最近更新 更多