Не устарели. Это зависит от архитектуры приложения, если использовать шаблон DTO или нет. Например, при разработке веб-служб (с использованием JAX-WS или JAX-RS) вы должны отправить DTO поверх своих веб-методов, чтобы клиентское приложение C# или Python могло его использовать, и ваш веб-метод не должен возвращать объект, класс которого Hibernate аннотации, помните, чем на других языках Entity не будет создан с этими аннотациями или другой бизнес-логикой внутри.
EDIT (Основано на ваших комментариях): Это зависит от архитектуры программного обеспечения. Например, я работаю над проектом SOA, и мы используем DTO для уровня обслуживания и уровня презентации. Чем глубже внутри, мы даже используем DTO для обработки связи с базой данных внутри сервисов, мы используем только SP для связи с БД, поэтому никакие Hibernate или любые другие инструменты ORM не могут там работать, мы могли бы использовать Spring DAO, и эта среда также использует DTO. Во многих приложениях вы можете найти множество шаблонов DTO.
Более подробная информация, что было бы здорово на этот вопрос:
EDIT 2: Еще один источник информации, который объяснит главную причину для использования дизайн DTO, в объяснена Martin Fowler
Заключение: DTO являются не анти образец. DTO предназначены для использования только тогда, когда вам нужно передавать данные из одной подсистемы в другую, и у них нет стандартного или стандартного способа общения.
Да, в таком сценарии я понимаю использование DTO. Вы отправляете результаты в DTO. Но для внутреннего применения использование DTO не очень полезно? – Thihara
Ответ @Thihara отредактирован на основе вашего комментария –
Согласно вашему первому, это анти-шаблон, используемый для того, чтобы обойти тот факт, что сущности beans не были сериализуемыми. С ORM основная проблема не существует. – Thihara