Java Spring数据JPA抛出重复键值违反了唯一约束
我正在我的应用程序中使用SpringDataJPA。从design开始,Spring数据的Java Spring数据JPA抛出重复键值违反了唯一约束,java,postgresql,spring-data-jpa,Java,Postgresql,Spring Data Jpa,我正在我的应用程序中使用SpringDataJPA。从design开始,Spring数据的save()在DB中不存在元素时在DB中进行插入,并在给出该元素的主键时执行更新 本例中的问题发生在PK存在时。令我惊讶的是,有时我会被解雇 错误:重复的键值违反唯一约束 既然Spring数据在这种情况下应该进行更新,那么这怎么可能被抛出呢?还有其他人面临同样的问题吗?你是怎么修好的 编辑: 实体: @Entity @Table(name = "table_name") public class Entit
save()
在DB中不存在元素时在DB中进行插入
,并在给出该元素的主键时执行更新
本例中的问题发生在PK存在时。令我惊讶的是,有时我会被解雇
错误:重复的键值违反唯一约束
既然Spring数据在这种情况下应该进行更新,那么这怎么可能被抛出呢?还有其他人面临同样的问题吗?你是怎么修好的
编辑:
实体:
@Entity
@Table(name = "table_name")
public class Entity {
@Id
@Type(type = "pg-uuid")
private UUID id;
@Column(name = "name")
private String name;
@Column(name = "surname")
private String surname;
...
}
您能否提供一些代码来查看可能缺少的内容?也许这会有帮助:请更新您的问题以包含相关代码:实体定义,格式化为代码的完整堆栈跟踪。创建和保存两个实体的代码。回答当前的问题:您可能在非id列上有另一个唯一键。请检查我的更新。我没有提供代码,因为我认为它与问题无关,因为我只有几次遇到这个问题。通常情况下,更新可以正常工作。但有时我会遇到上述例外情况。@SBylemans谢谢你的回答,但对我的情况没有帮助。实体是正常的,更新在大多数情况下都有效。@NoahMartin但您没有在实体中指定id,如我发布的链接中所述。