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

Как сформировать SQL-запрос для интеграции с репозиториями Spring Data JPA?

Компании, где спрашивали
СБЕРСБЕР

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

sobes.tech AI

В Spring Data JPA для интеграции SQL-запросов с репозиториями можно использовать аннотацию @Query. Она позволяет написать нативный SQL или JPQL-запрос прямо в интерфейсе репозитория.

Пример с нативным SQL-запросом:

public interface UserRepository extends JpaRepository<User, Long> {
    @Query(value = "SELECT * FROM users WHERE status = ?1", nativeQuery = true)
    List<User> findByStatus(String status);
}

Пример с JPQL-запросом:

public interface UserRepository extends JpaRepository<User, Long> {
    @Query("SELECT u FROM User u WHERE u.status = ?1")
    List<User> findByStatus(String status);
}

Таким образом, SQL-запрос формируется внутри аннотации @Query, а Spring Data JPA автоматически интегрирует его с репозиторием и выполнит при вызове метода.