Spring CrudRepository findByInventoryIds(List<Long>inventoryIdList) - 相当于 IN 子句

2022-01-18 00:00:00 spring java jpa spring-data spring-data-jpa

在 Spring CrudRepository 中,我们是否支持字段的IN 子句"?即类似于以下内容?

In Spring CrudRepository, do we have support for "IN clause" for a field? ie something similar to the following?

 findByInventoryIds(List<Long> inventoryIdList) 

如果没有这样的支持,可以考虑哪些优雅的选择?为每个 id 触发查询可能不是最优的.

If such support is not available, what elegant options can be considered? Firing queries for each id may not be optimal.

推荐答案

findByInventoryIdIn(ListinventoryIdList) 应该可以解决问题.

HTTP 请求参数格式如下:

The HTTP request parameter format would be like so:

Yes ?id=1,2,3
No  ?id=1&id=2&id=3

JPA 存储库关键字的完整列表可以在 当前文档列表.它表明 IsIn 是等价的 - 如果您更喜欢动词以提高可读性 - 而且 JPA 还支持 NotInIsNotIn.

The complete list of JPA repository keywords can be found in the current documentation listing. It shows that IsIn is equivalent – if you prefer the verb for readability – and that JPA also supports NotIn and IsNotIn.

相关文章