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定义自己的注释

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐