[英]Map result of sql query to DTO object(which has inner list)
我有以下SQL查詢
SELECT
customer.CUSTOMER_NUMBER customerNumber,
contractDetail.START_DATE campaignStartDate,
contractDetail.END_DATE campaignEndDate,
contractDetailCommitment.END_DATE commitmentEndDate,
contractDetail.CONTRACT_DETAIL_STATUS statusCode,
baseOffer.NAME campaignName,
property.CODE propertyCode,
DECODE(property.TYPE, 'LOV', propertyListChoice.CODE, assetPropertyValue.PROPERTY_VALUE) propertyValue
FROM .............
查詢結構並不重要,它返回像這樣的數據
因此,僅在兩個字段中使用不同的值:propertyCode和propertyValue。 我想將此查詢的結果映射到以下dto對象:
@Data
public class ContractInfoDTO {
private String customerNumber;
private String campaignStartDate;
private String campaignEndDate;
private String campaignName;
private String statusCode;
private List<Property> properties;
}
是否可以自動執行此操作? 還是唯一的解決方案是編寫自定義ResultTransformer
並ResultTransformer
處理所有三行?
使用JPA
您可以將查詢結果直接映射到DTO中,例如
SELECT new com.company.MyDTO(p.someField, p.someField2...)
但是首先,您需要將SQL
查詢轉換為JPQL
查詢。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.