>我在 JPA 中有这个查询:
@Query("SELECT programId,COUNT(id) FROM Therapy GROUP BY programId ORDER BY COUNT(id) DESC")
List<Object> top10ProgramsOfTherapies();
它工作得很好,但它返回了一个对象列表,我无法从中获取数据。我应该使用哪种返回类型来读取结果数据?
您还可以创建一个DTO类,例如,TherapyDto
该类将具有具有2个参数的构造函数,并以这种方式使用它:
@Query("SELECT new com.my.TherapyDto(programId,COUNT(id)) FROM Therapy GROUP BY programId ORDER BY COUNT(id) DESC")
List<TherapyDto> top10ProgramsOfTherapies();
此查询将返回对象数组列表:Object[]
所以你需要像这样更改你的代码:
@Query("SELECT programId,COUNT(id) FROM Therapy GROUP BY programId ORDER BY COUNT(id) DESC")
List<Object[]> top10ProgramsOfTherapies();
对于列表中的每个item
:item[0]
将保存programID
值,item[1]
将保存COUNT(id)
值,您应该将它们转换为各自的类型,因为它们将只有object
秒。