Sobes.tech
Back to questions
Junior — Middle
64

Какие способы задания запросов с использованием аннотации @Query доступны в вашем фреймворке?

Answer from AI

sobes.tech AI

В Java-фреймворках, таких как Spring Data JPA, аннотация @Query позволяет задавать запросы к базе данных несколькими способами:

  • JPQL (Java Persistence Query Language) — запросы на уровне сущностей, например:
@Query("SELECT u FROM User u WHERE u.email = ?1")
User findByEmail(String email);
  • Нативные SQL-запросы — с помощью параметра nativeQuery=true:
@Query(value = "SELECT * FROM users WHERE email = ?1", nativeQuery = true)
User findByEmailNative(String email);
  • Использование именованных параметров:
@Query("SELECT u FROM User u WHERE u.email = :email")
User findByEmail(@Param("email") String email);

Таким образом, @Query предоставляет гибкость для написания кастомных запросов, выходящих за рамки стандартных методов репозитория.