首页 > 解决方案 > Spring data JPA抛出重复键值违反了唯一约束

问题描述

我在我的应用程序中使用 Spring 数据 JPA。从设计中,当元素不存在于 DB 中时save(),Spring Data 会在 DB 中生成一个,并在给定该元素的 PK 时执行一个。insertupdate

这种情况下的问题是在存在 PK 时发生的。令我惊讶的是,有时我得到一个

错误:重复键值违反唯一约束...

由于 Spring Data 在这种情况下应该进行更新,这怎么可能被抛出?还有其他人面临同样的问题吗?你是怎么修的?

编辑:

实体:

@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;
  ...
}

标签: javapostgresqlspring-data-jpa

解决方案


推荐阅读