Отключите «строители» в MapStruct при использовании Immutables - PullRequest
0 голосов
/ 12 февраля 2019

Как мне полностью отключить использование "строителей" в MapStruct?Я вообще не хочу их использовать, так как они вызывают у меня всевозможные проблемы.

Я создал служебный файл в META-INF (я бы предпочел способ назначить его построителю отображений =но я не видел примеров, как это сделать правильно в коде).

Он все еще пытается использовать экземпляр «строителя» Immutables экземпляра «ModifiableXXX», которому я хочу сопоставить.Я бы даже воспользовался способом принудительного присвоения ему модифицируемого типа, если он доступен.

В другом отображении с использованием обновления работает подход ModifiableXXX (с @AfterMapping и @MappingTarget).

Мой картограф выглядит сейчас так:

@Mapper
public interface MongoProjectMapper
{
    ModifiableProject mapModel(MongoProject project);

    @AfterMapping
    ModifiableProject updateProject(MongoEntity e, @MappingTarget ModifiableProject p);
}

1 Ответ

0 голосов
/ 12 февраля 2019

Полное отключение сборщиков возможно через NoOpBuilderProvider.Вам необходимо создать файл org.mapstruct.ap.spi.BuilderProvider в каталоге META-INF/services с содержанием org.mapstruct.ap.spi.NoOpBuilderProvider.Это полностью отключит сборщики.

Существует запрос на добавление функции, чтобы сделать это более детальным и отключить его через @BeanMapping или на уровне картографа.Посмотрите на mapstruct / mapstruct # 1661

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...