Java Spring Boot:如何查找具有多个 Id 的所有行,例如 findAllByAge(ArrayList<Long> ageList)?

问题描述

我有一个表/实体用户,其中包含用户 ID、姓名、年龄等字段

我知道使用 Spring Boot,在 Repository 中,我们可以搜索类似

的行
User findByUserId(Long userId)

可能返回带有传递参数用户 ID 的用户

但我正在寻找一个选项,我可以在参数中传递一个列表,如下所示。

List<User> findAllByAge(ArrayList<Long> ageList)

这可能会返回所有通过 ageList 的用户。让我知道这是否可行,或者我必须使用本机查询?我知道我也可以使用本机查询来做到这一点,但如果可以的话,那就太好了。

解决方法

您必须在方法名称的末尾使用 In

List<User> findAllByAgeIn(ArrayList<Long> ageList)
                       ^^

有关更多详细信息,请参阅:Supported keywords inside method names