【发布时间】:2018-01-30 04:30:34
【问题描述】:
虽然我试图在mapstruct 中的两个classes 之间创建mapper,
当我编译我的代码时,我得到了一个warning:
src/main/java/mapstruct/DogMapper.java:15: warning: Unmapped target property: "otherField".
Cat convert(Dog dog);
^
1 warning
这是我试图映射的两个对象:
狗
@Getter
@Setter
public class Dog {
private String say;
}
猫
@Getter
@Setter
public class Cat {
private String say;
private String otherField;
}
这是我的映射器
@Mapper
public interface DogMapper {
DogMapper mapper = Mappers.getMapper( DogMapper.class );
@Mapping(source = "say", target = "say")
Cat convert(Dog dog);
}
我阅读了mapstruct docs,我知道我可以通过多种方式排除这个特定字段:
@Mapping(ignore = true, target = "otherField")
或者这样:
@Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE)
但我最终的目的是排除名为otherField的特定字段,
从我所有的映射器中,但不排除我不使用的其他字段。
有什么方法可以实现吗?
【问题讨论】: