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 предоставляет гибкость для написания кастомных запросов, выходящих за рамки стандартных методов репозитория.