如何防止mapstruct映射许多字段而不必手动将其全部排除?

时间:2019-06-26 16:26:24

标签: java java-ee dto mapstruct

我正在使用mapstruct将对象映射到DTO。我的对象有100个需要在DTO中映射的字段,而大约30个不应映射的字段。

我如何不必写30次而忽略30个字段

@Mapping(source = "fieldtoIgnore", ignore = true)

我不想忽略警告,我想完全防止mapstruct映射某些字段

谢谢

1 个答案:

答案 0 :(得分:2)

您可以在映射方法上定义以下注释:

@BeanMapping(ignoreByDefault = true)

这将默认使mapstruct忽略两个类之间的所有匹配字段。

这是Mapstruct文档中有关此注释的报价:

  

通过@BeanMapping(ignoreByDefault = true)的默认方式   行为将是显式映射,这意味着所有映射都必须   通过@Mapping指定,并且不会发出警告   缺少目标属性。

并链接到javadoc: http://mapstruct.org/documentation/stable/api/org/mapstruct/BeanMapping.html