首页 > 解决方案 > 要查找的批量数据是否存在:Spring Data JPA

问题描述

我收到一个Post请求,会给我一个List<PersonApi>对象

class PersonApi {
  private String name;
  private String age;
  private String pincode ;
}

我有一个名为的实体对象Person

@Entity
@Table(name = "person_master")
public class Person{

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    Long id;

    @Column(name = "name")
    String name;

    @Column(name = "age")
    String age;

    @Column(name = "pincode ")
    String pincode ;
}

我来自 Post 请求的记录看起来像这样(下面数据的伪代码表示)

[
"Arun","33","09876gh"
"James","34","8765468"
]

我需要使用 Spring JPA 进行批量验证。根据对象列表中的所有条目都应存在于数据库中的条件,给出List<PersonApi>并获取Trueor 。FalsePersonApi

这个怎么做 ?

标签: springspring-bootspring-data-jpaspring-data

解决方案


选择的答案不是正确的。(并不总是正确的)您正在选择整个数据库来检查是否存在。除非您的用例非常特殊,即表非常小,否则这会影响性能。

正确的方法可能是从为每个人发布 repository.existsById(id) 开始,如果你从不删除这些人,你甚至可以在它上面应用一些缓存。

存在


推荐阅读