【发布时间】:2021-08-26 11:26:27
【问题描述】:
我最近开始使用 mapstruct,在编码时我遇到了一个场景。为了解决以下默认方法之间的歧义,我尝试在列表中使用“qualifiedBy”
@Mapping(qualifiedBy = LineTestBO). Line => 1
List<ReturnABO> toCaptureLineItemsBOs(List<LineDTO> lineDTO);
@Named("LineTestBO")
default ReturnABO map(LineDTO lineDTO) {
if (lineDTO.getCurrency() != null && lineDTO.getNationalPermit() != null &&
lineDTO.getAmount() != null && lineDTO != null)
return this.toBO(lineDTO);
return null;
}
default returnABO toBO(LineDTO lineDTO) {
// To do here
}
但第 1 行显示错误,因为它需要指定“目标”。我不确定这里的目标应该是什么,因为 Line 是一个集合对象。即使我不使用@mapping,mapstuct 也会生成映射器实现。我阅读了 mapstuct 文档,但对这种情况没有太多了解。如何在 List 上使用 Named 注释来明确表示这是要使用的名称?有人能帮我吗?谢谢。
【问题讨论】:
标签: mapstruct