MapStruct使用它可以为集合映射找到的赋值.为了实现您想要的功能,您必须定义一个自定义方法,您将明确忽略数据字段,然后使用
@IterableMapping(qualifiedBy)或
@IterableMapping(qualifiedByName)选择所需方法.
您的映射器应如下所示:
public interface AssigmentFileMapper {
AssigmentFileDTO assigmentFileToAssigmentFileDTO(AssigmentFile assigmentFile);
AssigmentFile assigmentFileDTOToAssigmentFile(AssigmentFileDTO assigmentFileDTO);
@IterableMapping(qualifiedByName="mapWithoutData")
List assigmentFilesToAssigmentFileDTOs(List assigmentFiles);
List assigmentFileDTOsToAssigmentFiles(List assigmentFileDTOs);
@Named("mapWithoutData")
@Mapping(target = "data", ignore = true)
AssignmentFileDto mapWithouData(AssignmentFile source)
}
您应该使用org.mapstruct.Named而不是javax.inject.Named来实现此功能.您还可以使用org.mapstruct.Qualifier定义自己的注释