spring - 要查找的批量数据是否存在: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>
并获取True
or 。False
PersonApi
这个怎么做 ?
解决方案
选择的答案不是正确的。(并不总是正确的)您正在选择整个数据库来检查是否存在。除非您的用例非常特殊,即表非常小,否则这会影响性能。
正确的方法可能是从为每个人发布 repository.existsById(id) 开始,如果你从不删除这些人,你甚至可以在它上面应用一些缓存。
推荐阅读
- node.js - Node js API REST 服务认证翻译文本邮件节点邮件程序
- c# - 正则表达式封装任何不匹配的部分
- python - 在 PYTHON 中使用 SAS URI 从 AZURE BLOB CONTAINER 下载文件
- google-maps - 无法使用 Vue 浏览器脚本绘制多个标记
- c - 使用数组实现二叉树
- javascript - 如何创建时间选择器下拉菜单?
- swagger - Swagger 不工作有什么建议吗?
- elasticsearch - 查找存储在 ElasticSearch 中的字段中的不同字符串值列表
- ssl - 有没有办法为 SSLSocketFactory 和 SSLServerSocketFactory 指定端口范围
- c# - 比较来自用户的两个列表