Sobes.tech
Junior — Middle

Jak sformułować zapytanie SQL do integracji z repozytoriami Spring Data JPA?

sobes.tech AI

Odpowiedź od AI

W Spring Data JPA, aby zintegrować zapytania SQL z repozytoriami, można użyć adnotacji @Query. Pozwala ona na napisanie natywnego zapytania SQL lub JPQL bezpośrednio w interfejsie repozytorium.

Przykład z natywnym zapytaniem SQL:

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

Przykład z zapytaniem JPQL:

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

W ten sposób zapytanie SQL jest tworzone w obrębie adnotacji @Query, a Spring Data JPA automatycznie integruje je z repozytorium i wykonuje po wywołaniu metody.