Sobes.tech
Junior — Middle

Que sintaxe pode ser aplicada ao usar a anotação @Query no Spring Data JPA?

sobes.tech IA

Resposta da IA

A anotação @Query no Spring Data JPA permite escrever consultas JPQL ou SQL personalizadas diretamente no repositório. A sintaxe pode ser a seguinte:

  • Consultas JPQL (padrão):
@Query("SELECT u FROM User u WHERE u.email = ?1")
User findByEmail(String email);
  • Uso de parâmetros nomeados:
@Query("SELECT u FROM User u WHERE u.email = :email")
User findByEmail(@Param("email") String email);
  • Consultas SQL nativas (se precisar usar SQL específico):
@Query(value = "SELECT * FROM users WHERE email = ?1", nativeQuery = true)
User findByEmailNative(String email);

Dessa forma, @Query permite definir consultas de forma flexível, usando parâmetros posicionais ou nomeados, e também escolher entre JPQL e SQL nativo.