NativeNamedQuery com ResultClass diferente de Entity

2 respostas
ogubas

Seguinte… eu estou fazendo um dois SELECT SUM para fazer uma subtração de Débitos e Créditos dentro de um mesmo SELECT.
Como eu não consegui “traduzir” para JPQL, preferi criar uma NativeNamedQuery para isso:

@NamedNativeQuery( name="tourist.getBalance", resultClass=Double.class, query="SELECT SUM((SELECT SUM(l.valor) FROM LANCAMENTOS l WHERE l.usuarioID = ? AND l.status<>0 and l.dc='C')-(SELECT SUM(l.valor) FROM LANCAMENTOS l WHERE l.usuarioID = ? AND l.status<>0 AND l.dc='D')) AS saldo" )

o problema é que como estou esperando um double como resultClass ele está dando o seguinte erro:

1202 [main] ERROR org.hibernate.impl.SessionFactoryImpl - Error in named query: tourist.getBalance org.hibernate.MappingException: Unknown entity: java.lang.Double

tem algum jeito de eu usar um resultClass que não seja um Entity?
posso “traduzir” essa query para uma JPQL?
qual solução é a mais fácil?

2 Respostas

ogubas

ninguém?
=|

javaflex

Vou tentar ajudar, pois no .NET já fiz isso, o retorno eu coloco como Object. Na hora de ler pego o primeiro elemento da lista.

Criado 18 de setembro de 2012
Ultima resposta 18 de set. de 2012
Respostas 2
Participantes 2