Sobes.tech
Junior — Middle

Πώς διαμορφώνεται ένα ερώτημα SQL για ενσωμάτωση με τα αποθετήρια Spring Data JPA;

sobes.tech AI

Απάντηση από AI

Στο Spring Data JPA, για την ενσωμάτωση ερωτημάτων SQL με τα repositories, μπορείτε να χρησιμοποιήσετε την ανάρτηση @Query. Αυτό επιτρέπει να γράψετε εγγενή ερωτήματα SQL ή JPQL απευθείας στη διεπαφή του repository.

Παράδειγμα με εγγενές ερώτημα 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 το ενσωματώνει αυτόματα με το repository και το εκτελεί κατά την κλήση της μεθόδου.