使用spring Mapper映射Map的对象 - Java

问题描述 投票:1回答:1

在尝试使用spring的Mapper注释功能时,我遇到了一些困难。我想使用mapper在java中映射Map的对象,如下所示:

主持人计数器:

@Data
@NoArgsConstructor
@AllArgsConstructor
public class HostsCounters {
    private Map<String,Map<String,Long>> hostsList;
}

映射器:

@Mapper(componentModel = "spring")
public interface ResponseMapper {
    GeneralResponse toResponse(SevCount sevCount, HostsCounters hostsList, List<RegDAO> Reg);
}

GeneralRespone:

@Data
@NoArgsConstructor
public class GeneralResponse {
    private List<RegDAO> Reg;
    private HostsCounters hostsList;
    private SevCount sevCount;
}    

错误:

无法将属性“java.util.Map> hostsList”映射到“HostsCounters hostsList”。考虑声明/实现映射方法

java spring jpa mapper
1个回答
1
投票

只需使用:

@Mapping(source = "hostsList", target = "hostsList")
GeneralResponse toResponse(SevCount sevCount, HostsCounters hostsList, List<RegDAO> Reg);

但我强烈建议你删除具有不同含义的相同名称:

HostsCounters hostsList -> HostsCounters hostsLists

© www.soinside.com 2019 - 2024. All rights reserved.