我有一个简单的表来模拟一个人:
ID | AGE | NAME |
---------------------------
1 | 40 | Peter |
---------------------------
2 | 39 | John |
---------------------------
3 | 40 | Lora |
---------------------------
4 | 40 | Mark |
---------------------------
5 | 38 | Anna |
---------------------------
我想要一个方法,该方法不重复地返回包含不同年龄的整数列表,在这种情况下,结果将是[38,39,40]。
我有:
List<Integer> findDistinctAge();
但不起作用。我知道我可以在方法签名上方使用@Query
批注,在表上指定查询。但是我不想使用它,我想使用JPA语法,所以方法的名称定义了查询。
非常感谢您的帮助。
答案 0 :(得分:0)
`List<person> findDistinctAge();`
应该工作。否则,请发布您的完整代码。
答案 1 :(得分:0)
您需要在方法名称中添加“按”,这将返回具有不同年龄的“人员”列表:
List<person> findDistinctByAge();
您可以在进一步的呼叫中使用person.age
参数,也可以从个人列表创建新列表。
我认为没有直接方法可以返回年龄列表。
答案 2 :(得分:0)
使用Projections,您可以尝试达到目的:
public interface OnlyAge {
Integer getAge();
}
List<OnlyAge> findDistinctBy();