(руководитель проекта MapStruct здесь, поэтому, естественно, я предвзят)
Я раньше не использовал ModelMapper. Тем не менее, проекты сильно отличаются по способу составления карт. Я считаю, что ModelMapper основан на отражении и выполняет отображение во время выполнения. Принимая во внимание, что MapStruct является генератором кода, который генерирует код отображения (java классы) во время компиляции.
Поэтому, естественно, если вы беспокоитесь о производительности, то MapStruct является очевидным выбором. Существует этот независимый Java Object Mapper Benchmark, который сравнивает различные фреймворки.
Код, сгенерированный MapStruct, является читаемым человеком кодом, который легко отлаживать, и в нем нет отражения .
Существует много встроенных преобразований.
Вы получаете уведомление во время компиляции, если что-то не может быть отображено, и вы несете ответственность за предоставление таких сопоставлений. поэтому MapStruct может их использовать.
Есть также плагины IDE: * Плагин IntelliJ : помогает при редактировании интерфейсов сопоставления через автозаполнение, go для ссылочных свойств, поддержка рефакторинга и т. д. c. * Eclipse-плагин доступен: имеет быстрые исправления и автозаполнения, которые очень полезны при разработке интерфейсов mapper