gpt4 book ai didi

java - 将sql查询结果映射到DTO对象(具有内部列表)

转载 作者:太空宇宙 更新时间:2023-11-04 10:10:36 27 4
gpt4 key购买 nike

我有以下 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 .............

查询结构并不重要,它返回这样的数据

enter image description here

因此,只有两个字段的值不同: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 并一一处理所有三行?

最佳答案

使用JPA您可以将查询结果直接映射到DTO,例如

SELECT new com.company.MyDTO(p.someField, p.someField2...) 

但首先您需要将 SQL 查询转换为 JPQL 查询。

关于java - 将sql查询结果映射到DTO对象(具有内部列表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52389103/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com