Alternativas
Nativas
Realizando consulta nativas com JPA
Introdução
JPA Consultas - Nativas
As consultas nativas no JPA permitem que você escreva SQL puro, interagindo diretamente com as tabelas e colunas do banco de dados. Essa abordagem oferece total controle sobre a consulta, permitindo o uso de recursos específicos do banco, mas pode reduzir a portabilidade do código, já que a consulta é dependente do banco de dados utilizado.
Para que você possa acompanhar este exercício, é necessário que você esteja realizando-os em um projeto Spring Boot com dependencias do Spring Data JPA.
Consulte nosso vídeo JPA Setup - com Spring Boot
ClienteConsultaNativa.java
import jakarta.persistence.*;
import org.springframework.stereotype.Service;
@Service
public class ClienteConsultaNativa {
@PersistenceContext
private EntityManager entityManager;
}
Casos de Uso
- Todos os clientes, sem filtros, ordenados por nome
public List<Cliente> consultarClientesOrdenadosPorNome() {
// Consulta SQL Nativa para buscar todos os clientes ordenados por nome
String sql = "SELECT * FROM tab_cliente ORDER BY nome_completo";
Query query = entityManager.createNativeQuery(sql, Cliente.class);
return query.getResultList();
}
JPA Consultas - Nativas part02
Note que mesmo que tabela tenha o mesmo da entidade estamos mencionando o nome da tabela e seus campos como se estivessemos direto no SQL através do método
createNativeQuery