Sobes.tech
Junior — Middle

¿Qué formas de definir consultas usando la anotación @Query están disponibles en su marco de trabajo?

sobes.tech AI

Respuesta de la IA

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