Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Spring: spring, data

Что такое derived query methods (findBy...) и как они работают?

Этот вопрос проверяет знание возможностей Spring Data JPA и понимание того, как генерируются запросы без написания SQL.

Короткий ответ

Derived query methods — это методы репозитория, запросы для которых Spring строит автоматически по имени метода. Разработчику не нужно писать SQL или JPQL. Название метода описывает условие поиска. Это ускоряет разработку и снижает количество шаблонного кода.

Длинный ответ

Spring Data JPA умеет анализировать имена методов и на их основе строить SQL-запросы.

Суть derived query methods

Определение:
Derived query method — это метод репозитория, SQL-запрос которого формируется автоматически на основе его имени.

Spring анализирует части имени метода:

  • findBy — операция поиска

  • имя поля сущности

  • условие (Equals, GreaterThan, Like и т.д.)

Пример использования

public interface UserRepository extends JpaRepository<User, Long> {

    User findByName(String name);

    List<User> findByAgeGreaterThan(int age);
}

В этом случае Spring сам создаст соответствующие SQL-запросы.

Поддерживаемые операции

Можно использовать:

  • логические операции (And, Or)

  • сравнения (GreaterThan, LessThan)

  • проверки на null

  • сортировку (OrderBy)

Ограничения подхода

Derived query methods удобны, но:

  • плохо читаются при сложной логике

  • не подходят для сложных JOIN

  • приводят к длинным именам методов

Краткий вывод

Derived query methods отлично подходят для простых запросов. Для сложных сценариев лучше использовать JPQL или native SQL.

Уровень

  • Рейтинг:

    4

  • Сложность:

    4

Навыки

  • Spring

    Spring

Ключевые слова

#spring

#data

Подпишись на Java Developer в телеграм