Как я могу предотвратить отображение mapstruct множества полей без необходимости исключать их все вручную? - PullRequest
2 голосов
/ 26 июня 2019

Я использую mapstruct для отображения объекта в DTO. Мой объект имеет 100 полей, которые должны отображаться в DTO, и около 30, которые не должны отображаться.

Как я могу игнорировать 30 полей без необходимости писать 30 раз

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

Я не собираюсь игнорировать предупреждение, я хочу полностью запретить mapstruct отображать некоторые поля

Спасибо

1 Ответ

3 голосов
/ 26 июня 2019

Вы можете определить для метода отображения следующую аннотацию:

@BeanMapping(ignoreByDefault = true)

это заставит mapstruct игнорировать по умолчанию все совпадающие поля между двумя классами.

Вот цитата из документации Mapstruct относительно этой аннотации:

С помощью @BeanMapping (ignoreByDefault = true) по умолчанию Поведение будет явным отображением, означающим, что все отображения должны указывается с помощью @Mapping, и предупреждения не выдаются на отсутствующие свойства цели.

и ссылка на Javadoc: http://mapstruct.org/documentation/stable/api/org/mapstruct/BeanMapping.html

...