Что такое Projection в Spring Data JPA и зачем нужны DTO проекции?

Middle
313 просмотров
AFK Offer AI

Projection — выбрать только нужные поля вместо полного entity. Интерфейс проекция: interface UserSummary { String getName(); String getEmail(); } Spring Data генерирует запрос только с этими полями. DTO проекция через конструктор: @Query("SELECT new com.example.UserDto(u.name, u.email) FROM User u"). Class-based projection через record. Преимущества: меньше данных из БД, нет загрузки LazyCollections которые не нужны, быстрее сериализация. Для read-heavy endpoints проекции значительно лучше.

Следующий вопрос

Как Spring обрабатывает CORS?