在给定 ID 列表的情况下,是否有一种方法可以使用 Spring JPA 存储库查询来获取我们表中不存在的 ID 的子列表?
像这样:
@Query(value = "Some query returning a sublist of orderIds not in TABLE")
List<String> orderIdsNotInTable(@Param("orderIds") List<String> orderIds);
我找到了一个链接 here但我想不出如何使它成为 JPA 查询。
编辑:这里的目标是节省运行内存,所以如果有数千个 ID 并且同时发生许多调用,我希望在不创建所有 ID 的第二个副本的情况下处理它可能。
最佳答案
根据您的问题,我的解决方案是:
- 检索数据库中存在的 ID 列表:
@Query("select t.id from Table t")
List<String> findAllIds();
- 遍历您拥有的 ID 列表,并查找数据库表中的 ID 列表是否不包含您的 ID。
List<String> idsNotContained= orderIds.stream()
.filter(!findAllIds()::contains)
.collect(Collectors.toList());
关于java - Spring JPA 查询以获取不在表中的提供的 ID 的子列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73242680/