2

我必须用 mapstruct 映射一个抽象实体列表,但我不知道该怎么做,因为我有以下错误消息:

无法为此方法生成任何实现。找不到将源元素类型映射到目标元素类型的方法或隐式转换。

public class AbstractArea {
    private List<AbstractArea> areas;

    public List<AbstractArea> getAreas() {
        return areas;
    }

    public void setAreas(List<AbstractArea> areas) {
        this.areas = areas;
    }
}

@Mapper()
public interface AbstractAreaMapper {
    ...
    List<AbstractAreaDto> abstractAreasToAbstractAreaDtos(List<AbstractArea> areaList);
}
4

1 回答 1

7

您需要声明一个转换列表元素类型的映射方法,即:

AbstractAreaDto abstractAreaToDto(AbstractArea area);

生成的实现abstractAreasToAbstractAreaDtos将为源列表的每个元素调用此方法。

也就是说,您可能需要针对层次结构中的子类型而不是抽象基类型的更具体的映射方法。

于 2016-04-12T09:37:32.477 回答