У меня были схожие вопросы и проблемы относительно того, как конвертировать между объектами Hibernate и объектами передачи данных, которые будут возвращены веб-службой, как обсуждаются в этом вопросе:
Является ли использование объектов передачи данных в ejb3 рассмотренной лучшей практикой
Один из факторов, упомянутых здесь, заключается в том, что при изменении модели домена набор DTO будет защищать потребителей в случае веб-службы.
Несмотря на то, что кажется, что он добавит существенный объем кода в мой проект, это рассуждение кажется звуковым.
Есть ли хороший шаблон проектирования, который я могу использовать для преобразования объекта Hibernate (который реализует интерфейс) в DTO, который реализует один и тот же интерфейс?
Поэтому, предполагая, что оба из следующих инструментов "Книга", мне нужно будет преобразовать BookEntity.class в класс BookDTO.class, чтобы я мог позволить JAXB сериализоваться и возвращаться.
Опять же, вся эта перспектива кажется мне сомнительной, но если есть хорошие шаблоны, чтобы помочь справиться с этим обращением, я бы хотел получить некоторое представление.
Есть ли какой-то интересный способ преобразования через отражение? Или шаблон "строителя", о котором я не думаю?
Должен ли я просто игнорировать шаблон DTO и передавать объекты вокруг?