Olá!
Caso eu queira disparar uma query complexa, com subquerys e union's.... é possível criar uma query na mão (igualmente a criada direto no banco) e disparar contra o banco via jpql ?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá!
Caso eu queira disparar uma query complexa, com subquerys e union's.... é possível criar uma query na mão (igualmente a criada direto no banco) e disparar contra o banco via jpql ?
Opa, só se a jpql tiver suporte... para union não tem. O melhor é fazer uma nativequery e mapear os resultados para seus objetos.
Alberto,
Deu certo, mas tenho um novo problema, o retorno que volta da query é um objeto criado na aplicação, logo a pergunta é como acessar um objeto que está dentro de uma lista de Object ?
EntityManager em = new JPAUtil().getEntityMager();
em.getTransaction().begin();
Conta conta = new Conta();
conta.setId(2);
String teste = "select tipo, sum(valor) from movimentacao group by tipo";
Query q = em.createNativeQuery(teste);
List<Object> retorno = q.getResultList();
for (Object o : retorno) {
//como acessar um objeto que está dentro de uma lista de Object ?
}
em.getTransaction().commit();
em.close();