Sobes.tech
Назад к вопросам
Junior — Middle
68

Использовал ли ты механизм Projection в Spring Data для оптимизации запросов?

Ответ от нейросети

sobes.tech AI

Да, механизм Projection в Spring Data используется для оптимизации запросов, когда нужно получить не всю сущность, а только часть её полей. Это позволяет снизить нагрузку на базу данных и уменьшить объем передаваемых данных.

Существует два основных типа проекций:

  • Интерфейсные проекции — определяются интерфейсом с геттерами нужных полей.
  • Классические DTO-проекции — классы с конструктором, принимающим нужные поля.

Пример интерфейсной проекции:

public interface UserNameOnly {
    String getFirstName();
    String getLastName();
}

public interface UserRepository extends JpaRepository<User, Long> {
    List<UserNameOnly> findByActiveTrue();
}

В этом примере запрос вернёт только имена активных пользователей, без загрузки всей сущности User.