, что является хорошим шаблоном для преобразования между объектами гибернации и объектами передачи данных?

У меня были похожие вопросы и проблемы относительно того, как преобразовать между сущностями Hibernate и объектами передачи данных, которые должны быть возвращены веб-службой, как обсуждается в этом вопросе:

Использование объектов передачи данных в ejb3 считается лучшей практикой

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

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

Есть ли хороший шаблон проектирования, который я могу использовать для преобразования объекта Hibernate (который реализует интерфейс) в DTO, который реализует тот же интерфейс?

Итак, предполагая, что обе следующие реализации 'Book', мне понадобятся чтобы преобразовать BookEntity.class в BookDTO.class, чтобы я мог позволить JAXB сериализоваться и вернуться.

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

Есть ли какой-нибудь интересный способ преобразования через отражение? Или шаблон «строителя», о котором я не думаю?

Должен ли я просто игнорировать шаблон DTO и передавать объекты?

21
задан Community 23 May 2017 в 12:00
поделиться