Sobes.tech
Назад к вопросам
Junior — Middle
65

Какой синтаксис можно применить при использовании аннотации @Query в рамках Spring Data JPA?

Компании, где спрашивали
ООО Динамика

Ответ от нейросети

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.