簡體   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