Back to questions
Junior — Middle
67
Какой синтаксис можно применить при использовании аннотации @Query в рамках Spring Data JPA?
Companies where asked
ООО Динамика
Answer from AI
sobes.tech AI
Аннотация @Query в Spring Data JPA позволяет писать собственные JPQL или SQL-запросы прямо в репозитории. Синтаксис может быть следующим:
- JPQL-запросы (по умолчанию):
@Query("SELECT u FROM User u WHERE u.email = ?1")
User findByEmail(String email);
- Использование именованных параметров:
@Query("SELECT u FROM User u WHERE u.email = :email")
User findByEmail(@Param("email") String email);
- Нативные SQL-запросы (если нужно использовать конкретный SQL):
@Query(value = "SELECT * FROM users WHERE email = ?1", nativeQuery = true)
User findByEmailNative(String email);
Таким образом, @Query позволяет гибко определять запросы, используя позиционные или именованные параметры, а также выбирать между JPQL и нативным SQL.