Sobes.tech
Junior — Middle

Ce sintaxă poate fi aplicată la utilizarea adnotării @Query în Spring Data JPA?

sobes.tech AI

Răspuns de la AI

A adnotare @Query din Spring Data JPA permite scrierea de interogări JPQL sau SQL personalizate direct în repository. Sintaxa poate fi următoarea:

  • Interogări JPQL (implicit):
@Query("SELECT u FROM User u WHERE u.email = ?1")
User findByEmail(String email);
  • Utilizarea parametrilor numiți:
@Query("SELECT u FROM User u WHERE u.email = :email")
User findByEmail(@Param("email") String email);
  • Interogări SQL native (dacă doriți să folosiți SQL specific):
@Query(value = "SELECT * FROM users WHERE email = ?1", nativeQuery = true)
User findByEmailNative(String email);

Astfel, @Query permite definirea flexibilă a interogărilor, utilizând parametri poziționali sau numiți, și alegerea între JPQL și SQL nativ.