java - 当查询结果不是类时,JPA 查询方法的返回类型是什么?

标签 java hibernate jpa jpql

我在 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();

关于java - 当查询结果不是类时,JPA 查询方法的返回类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44943774/

相关文章:

java - 无法找到 xml 模式 namespace 上下文的 spring namespace 处理程序

java - 请帮我找到正则表达式来分割我的字符串

java - 在 Oracle 上使用 Hibernate 的死锁事务

hibernate - 在 Hibernate 标准中使用 setFetchMode 时,如何对 oneToMany 表设置限制

java - 键 'PRIMARY' 的重复实体

使用 JPA 循环遍历大型表时出现 java.lang.OutOfMemoryError

mysql - 如何在不依赖数据库的情况下启动 spring-boot 应用程序?

Java 6 json解析

java - 从 ArrayList 中检索随机项

java - 将现有数据库中的表映射到对象——Hibernate 适合吗?