2016-04-22 597 views
4

我在MapStruct中使用大型模型(超过50个字段)在我的代码中的不同业务用例之间共享。根据入口点,一些属性将被映射,而另一些则不会。当我构建我的项目时,我总是会得到“警告:未映射的目标属性”消息。MapStruct忽略自动取消映射的属性

我研究,发现它可以告诉mapstruct使用时,给我的对象有这么多的领域语义

@Mapping(target = "propName", ignore = true) 

问题忽略场,这将需要大量的代码忽略每个映射器类中的每个属性。我也不想在我的日志中发出这个警告。有没有什么办法可以告诉mapstruct忽略未映射的内容,从而避免此消息?

回答

18

您可以设置“未映射目标政策”的@Mapper水平或通过@MapperConfig跨越多个映射器共享设置:

@Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE) 
public interface MyMapper {} 
+0

谢谢,非常完美。 –

+0

有没有办法在方法级别做同样的事情? – TheBakker