Пример кода POJO и DTO

Я не понимаю разницу между POJO и DTO в Java. Я прочитал статью здесь: В чем разница между POJO (простой старый Java-объект) и DTO (объект передачи данных)?, Но я до сих пор не понимаю реализацию кода между ними, что отличает их. Можете ли вы привести пример кода для каждого из них? Большое вам спасибо раньше!

3 ответа

POJO означает "Простой старый Java-объект". POJO - это объект, который не должен реализовывать какой-либо конкретный интерфейс или расширять какой-то определенный класс для использования каркасом. Термин был придуман, если я правильно помню, чтобы реагировать на EJB1 и EJB2, что накладывало множество ограничений на то, как вам приходилось писать бины, чтобы сделать их EJB. POJO - это скорее маркетинговый термин, чем технический.

DTO означает объект передачи данных. DTO - это объект, который используется для передачи данных между уровнями приложения, как правило, по сети. Он часто состоит из POJO (то есть простого Java-класса), содержащего поля и геттеры.

Простой старый Java-объект или POJO - это термин, первоначально введенный для обозначения простого легкого Java-объекта, не реализующего никакого интерфейса javax.ejb в отличие от компонентов Entity. В настоящее время термин POJO используется для любого простого объекта без дополнительной причудливой аннотации, такой как аннотации третьих лиц и т. д.

DTO - это объект, в обязанности которого входит просто инкапсуляция данных в объект значения. У него будут только члены экземпляра и соответствующие методы получения и установки. Обычно они используются для представления строки в хранилище данных. В то время как Pojo включает в себя еще несколько методов, которые делают некоторые бизнес-обработки на них

На самом деле, POJO является более общим. Любой класс, который имеет частные сериализуемые поля, методы получения и установки для каждого поля и не расширяет другой класс или не реализует интерфейс, может называться POJO.

DTO - это объект, который использует некоторый объект данных (например, объектный объект JPA) для передачи данных на другой уровень вашего приложения (например, если объект entity1 имеет ссылку на другой entity2, DTO может заменить ссылку entity2 своим entity2.id.toString или другое поле entity2).

Другие вопросы по тегам