Junior — Middle
Milyen szintaxist lehet alkalmazni a @Query annotáció használata során a Spring Data JPA-ban?
sobes.tech MI
Válasz az MI-től
A @Query annotáció a Spring Data JPA-ban lehetővé teszi saját JPQL vagy SQL lekérdezések közvetlen írását a repository-ban. A szintaxis a következő lehet:
- JPQL lekérdezések (alapértelmezett):
@Query("SELECT u FROM User u WHERE u.email = ?1")
User findByEmail(String email);
- Névvel ellátott paraméterek használata:
@Query("SELECT u FROM User u WHERE u.email = :email")
User findByEmail(@Param("email") String email);
- Natív SQL lekérdezések (ha konkrét SQL-t szeretnél használni):
@Query(value = "SELECT * FROM users WHERE email = ?1", nativeQuery = true)
User findByEmailNative(String email);
Így a @Query rugalmasan lehetővé teszi a lekérdezések meghatározását, pozíciós vagy névvel ellátott paraméterek használatával, valamint a JPQL és a natív SQL közötti választással.