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.