繁体   English   中英

如何将JPA查询结果映射到POJO?

[英]How to map JPA query results to a 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和Hibernate。 谁能提供其他选择?

尝试使用构造函数:

@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);

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

好了,您可以使用@SqlResultSetMapping批注,也可以创建自己的接口以将查询字段反映给它。 您可以在此处找到两个示例: Spring Data JPA将本机查询结果映射到非实体POJO

您也可以调用构造函数,如@Andronicus所说。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM