我有以下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
并一一处理所有三行?
答案 0 :(得分:0)
例如,您可以使用PDFAnnotation.color
将查询结果映射到DTO中
JPA
但是首先,您需要将SELECT new com.company.MyDTO(p.someField, p.someField2...)
查询转换为SQL
查询。