Наиболее подходящий способ переноса сущностей из сервиса во внешний интерфейс при загрузке Spring - PullRequest
1 голос
/ 01 мая 2019

В настоящее время я обнаружил три возможных способа отправки объектов (сущностей) из службы во внешний интерфейс.

  1. JSON просмотров

  2. DTO с использованием MapStruct , например.

  3. DTO без MapStruct (согласно первому комментарию)

Я полагаю, что использование представления JSON может вызвать проблемы с отложенной загрузкой внутри сущностей, поскольку любые сущности, имеющие это, будут вне сеанса гибернации (при условии, что мы работаем с @Transactional в наших службах, что является наиболее распространенным).

Я также не предпочитаю третий вариант, потому что в этом случае мне также нужно самому реализовать мапперы.

Я наконец решил работать с MapStruct. Это лучший способ?

1 Ответ

1 голос
/ 03 мая 2019

Я не думаю, что есть самый подходящий способ для переноса сущностей из сервиса во внешний интерфейс.Это должно быть решение, принятое командой разработчиков и то, что работает лучше для них.Однако лично мне хотелось бы отделить сущности от REST DTO, что автоматически исключает первый вариант использования JSON Views.

Другие 2 варианта DTO с использованием MapStruct и DTO без MapStruct (ручной код)подобные.Сгенерированный код MapStruct - это простой, легко читаемый код, именно такой, каким его написал бы человек.Вы можете настроить генерацию и добавить собственные сопоставления (MapStruct затем отключится).

...