Sobes.tech
Junior — Middle

Quais formas de definir consultas usando a anotação @Query estão disponíveis na sua estrutura?

sobes.tech IA

Resposta da IA

Nos frameworks Java, como o Spring Data JPA, a anotação @Query permite definir consultas ao banco de dados de várias formas:

  • JPQL (Java Persistence Query Language) — consultas ao nível de entidades, por exemplo:
@Query("SELECT u FROM User u WHERE u.email = ?1")
User findByEmail(String email);
  • Consultas SQL nativas — usando o parâmetro nativeQuery=true:
@Query(value = "SELECT * FROM users WHERE email = ?1", nativeQuery = true)
User findByEmailNative(String email);
  • Uso de parâmetros nomeados:
@Query("SELECT u FROM User u WHERE u.email = :email")
User findByEmail(@Param("email") String email);

Dessa forma, @Query oferece flexibilidade para escrever consultas personalizadas que vão além dos métodos padrão do repositório.