Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Затрудняют поиск использования полей в коде
При внесении изменении в entity/dto проблемы сломанного мапинга будут видны только в рантайме
— Затрудняют поиск использования полей в коде
— При внесении изменении в entity/dto проблемы сломанного мапинга будут видны только в рантайме
Поэтому, правильным решением является использование библиотеки-маппера.
Возможность конфликтов с другими библиотеками (несовместимость аннотаций)
Нет гарантии, что после обновлении версии библиотеки не придется переписывать маппинг всех Entities, DTOs (breaking changes)
Изменилось поле, напиши конвертер
Опять не уйти от абстракции, чтобы скрыть реализацию. В сути получаем тот же «колхозный» ItemMapper на базе библиотеки.
Как решить проблему, если DTO имеет другую (схожую) структуру с Entity. Например в DTO вычислимое поле А, которое состоит из суммы полей B и C соответствующей Entity. Писать для каждого случая постконвертер (TypeMap)?
Не понял, что Вы хотели сказать.
В этом и смысл использования библиотек. Все специфичные поля библиотека обрабатывает сама. Обработку неспецифичных полей никто кроме Вас не напишет.
ModelMapper: путешествие туда и обратно