Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Código SQL montado por terceiros

Em uma empresa que trabalhei existia uma regra onde todos os SQLs das queries do sistema somente deveriam ser criados pelos DBAs, sob alegação de performance etc. Neste caso, sem usar JPQL ou Criteria e sabendo que a JPA tem um jeito particular de montar as queries, como fazer para inserir o código SQL exatamente igual como era montado pelos DBAs e executá-lo na aplicação para satisfazer esta regra da empresa? Obrigado.

1 resposta
solução!

Olá Waldemiro, tudo bem?

Entendo sua preocupação em seguir as regras da empresa em que trabalha. No entanto, é importante lembrar que a JPA tem suas particularidades na forma como monta as queries e é importante avaliar se a performance não será afetada ao utilizar um código SQL montado externamente.

Dito isso, é possível utilizar a interface nativa do Hibernate para executar o código SQL diretamente no banco de dados. Para isso, você pode utilizar o método createNativeQuery da EntityManager, que permite a criação de uma query SQL nativa.

Segue um exemplo de como utilizar o método createNativeQuery:

EntityManager em = getEntityManager();
Query query = em.createNativeQuery("SELECT * FROM tabela WHERE coluna = :valor");
query.setParameter("valor", "exemplo");
List<Object[]> results = query.getResultList();

Lembrando que é importante avaliar a segurança e performance ao utilizar código SQL externo.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software