Hibernate / JPA trainee
В чём разница DTO и Entity?
Ответ
Entity — связана с БД (@Entity). Может иметь связи (LazyInitializationException наружу!). DTO — независимый объект для передачи. Хорошая практика: НЕ возвращать Entity из REST-контроллеров, маппить в DTO, чтобы не тянуть ленивые связи вне сессии.
Разбор: Entity связана с БД (@Entity), участвует в персистентном контексте и тянет ленивые связи. DTO — независимый объект для передачи данных, разрывающий связь с моделью БД. Ловушка — поменять определения местами или поверить, что Entity безопасно сериализовать: вне сессии ленивые поля дают LazyInitializationException, поэтому из контроллеров возвращают DTO.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.