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.