Назад к вопросам
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.