首页 > 解决方案 > 如何将 JPA 查询结果映射到 POJO?

问题描述

@Query("SELECT tt, at.field, at.anotherField from TableTest tt LEFT JOIN AnotherTable at ON at.commonField = tt.commonField")
List<TestPojo> findAllPojo(List<TableTestDTO> TableTestDTOList);

如何将此 JPA 查询结果映射到没有本机查询的 Pojo,例如这种方法

我正在使用 JPA 和休眠。谁能提供其他选择?

标签: javaspringspring-data-jpapojo

解决方案


尝试使用构造函数:

@Query("SELECT new TestPojo(tt, at.field, at.anotherField) from TableTest tt LEFT JOIN AnotherTable at ON at.commonField = tt.commonField")
List<TestPojo> findAllPojo(List<TableTestDTO> TableTestDTOList);

当然,这样的构造函数必须存在,更好的是放置完全限定名称而不是 bare TestPojo


推荐阅读