DTO описывает роль объекта передачи данных, а POJO — обычный Java-объект без обязательной привязки к специальной модели фреймворка. DTO с Lombok обычно остаётся POJO.
Что такое DTO и POJO? Можно ли отнести DTO с Lombok-аннотациями к POJO?
DTO описывает роль объекта передачи данных, а POJO — обычный Java-объект без обязательной привязки к специальной модели фреймворка. DTO с Lombok обычно остаётся POJO.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
DTO описывает роль объекта передачи данных, а POJO — обычный Java-объект без обязательной привязки к специальной модели фреймворка. DTO с Lombok обычно остаётся POJO.
Эти понятия не противопоставлены: один класс может одновременно быть DTO и POJO. DTO переносит данные между слоями или через границу сервиса и не обязан содержать бизнес-логику. POJO не требует наследования от специального базового класса или реализации инфраструктурного интерфейса. Lombok генерирует Java-код, например getters и конструктор, поэтому сами его аннотации не отменяют статус POJO. При этом DTO следует проектировать по контракту, а не автоматически раскрывать все поля ORM-сущности.