问题:使用@SuperBuilder后进行MapStruct转换发生错误,一些字段无法识别

解决:
1、对无法转换的字段添加映射,其中addVersion是父类里的字段
@Mapping(target = "addVersion", source = "addVersion")
@Mapping(target = "name", source = "ipKey")
@Mapping(target = "address", expression = "java(MapstructUtils.getIpAddress(interfaceDO))")
InterfaceItem do2InterfaceItem(InterfaceDO interfaceDO);
2、内部Mapper的注解@Mapper内添加参数builder = @Builder(disableBuilder = true)
@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, builder = @Builder(disableBuilder = true))
public interface SubinterfaceMapStruct {
}
看下生成后的方法

不屏蔽builder方法生成的方法

网友评论