Size: a a a

Java/Kotlin and more

2021 May 02

RZ

Roman Zinchuk in Java/Kotlin and more
я намекаю, что все зависит от ситуации. Если мы добавим слой dto, то его придется поддерживать, а это возможные ошибки маппинга и потери данных.
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
Вот именно в мапстракт можно зайти и посмотреть что и как будет мапиться, т.к. есть конкретный код, который это будет делать.

В моделмапере ты не знаешь что и как будет мапиться, т.к. все в рантайме через рефлексию
источник

RZ

Roman Zinchuk in Java/Kotlin and more
в modelmapper я настраиваю его в одном месте, в mapstruct такое можно сделать ? Чтобы проверять Hibernate.isInitialized-ом поля всех обьектов без дублирования кода и исключать если false. Если такого способа нет, а надо в каждом класе исключать такие свойства и прописывать что-то в какой-то after-mapped, то нет уж, спасибо.
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
Это делать не надо, когда делаешь маппинг там где надо - сервисе, когда у тебя есть ещё активная транзакция
источник

RZ

Roman Zinchuk in Java/Kotlin and more
я считаю, что маппер не должен ничего тянуть с базы, чтобы не понижать производительность
источник

RZ

Roman Zinchuk in Java/Kotlin and more
именно поэтому мы использовали ентити графы и такой вот маппинг
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
Да и наличие данных в dto должно зависеть от конкретного метода, бизнес логики, а не сочетания звёзд на тему была ли инициализация лэзи поля, как на такое апи должен опираться фронт?
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
Он и не будет, надо сразу загружать все необходимое
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
Именно, у тебя все будет загружено и маппер ничего не будет грузить
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
Правильно тебе надо научиться делать
источник

RZ

Roman Zinchuk in Java/Kotlin and more
в этом вся проблема, маппер будет все тянуть, абсолютно все, а нам оно не надо. Это тогда always eager какой-то получается из-за маппера.
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
У вас явно проблема с архитектурой)
источник

RZ

Roman Zinchuk in Java/Kotlin and more
в чем проблемы моего подхода ? мне кажется, что одни только плюсы, клиенты сами запрашивают что им нужно через ентити графы, серверу легче так, чем отдавать каждый раз обьект со всеми зависимостями
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
Клиент ещё передает энтитиграф?
источник

RZ

Roman Zinchuk in Java/Kotlin and more
либо граф либо свойства, которые вытянуть (не помню точно), ушел год назад с проекта.
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
😂😂😂
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
Это очень большая проблема архитектуры)

Это называется оверэнженеринг)))
источник

RZ

Roman Zinchuk in Java/Kotlin and more
вроде у фейсбука такое арі, в котором можно указывать, какие свойства обьекта (а точнее зависомости) ты хочеш получить... надо им написать, что они неправильно все делают.
источник

RZ

Roman Zinchuk in Java/Kotlin and more
Мне хотелось бы узнать почему это плохо, что можно улучшить.
источник

RZ

Roman Zinchuk in Java/Kotlin and more
той проект вже перейшов на mapstruct😁
источник