有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我用的是春季冬眠postgres。我有一张桌子,上面写着“某个实体”。它已经包含了一些记录

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

在日志中,我看到hibernate试图从表序列中获取nextVal()。但是,我的postgres返回的nextval与某个_实体表第二行id相同。因此,我的hibernate尝试创建具有该id的行。因此,我的persist()失败,hibernate约束冲突异常

可能是我的措辞不对。我希望有人已经遇到了这个问题,并有解决办法

谢谢


共 (1) 个答案

  1. # 1 楼答案

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

    ALTER SEQUENCE names_id_seq RESTART WITH currentId;
    

    ,我从哪里得到的currentId

    SELECT currval('names_id_seq');