更新实体(如果已存在)或使用 spring jpa 创建

Roc*_*ver 5 java spring spring-data spring-data-jpa

我是 spring data jpa 的新手。我有一个场景,如果不存在,我必须创建一个实体,或者根据非主键名称进行更新。下面是我编写的用于创建新实体的代码,它工作正常,但如果已经存在记录,它会创建重复项。如何编写一个方法来更新是否存在,我通常从客户端获取记录列表。

@Override
@Transactional
public String createNewEntity(List<Transaction> transaction) {

   List<Transaction> transaction= transactionRespository.saveAll(transaction);
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*ohx 1

在您的交易实体中添加名为 name this 的变量,以便命名为唯一:

  @Entity
  public class Transaction {
      ...
      @Column(name="name", unique=true)
      private String name;
      ... 
  } 
Run Code Online (Sandbox Code Playgroud)

那么您将无法为名称列添加重复的值。