Возвращать entity из репозитория внутри persistence-слоя нормально. Проблемы возникают при переносе её за нужную транзакционную границу: lazy-loading, лишние запросы и утечка внутренней модели.
Какие проблемы могут возникнуть при возврате JPA entity из репозитория и как их избежать?
Возвращать entity из репозитория внутри persistence-слоя нормально. Проблемы возникают при переносе её за нужную транзакционную границу: lazy-loading, лишние запросы и утечка внутренней модели.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Возвращать entity из репозитория внутри persistence-слоя нормально. Проблемы возникают при переносе её за нужную транзакционную границу: lazy-loading, лишние запросы и утечка внутренней модели.
Сериализация entity напрямую в API может вызвать циклы связей, раскрыть поля и создать N+1. Выбирайте нужные данные fetch join, entity graph или projection, а наружу отдавайте DTO с явным контрактом. Не решайте всё глобальным EAGER: он часто увеличивает объём загрузки и не гарантирует отсутствие дополнительных SQL.