Cálculos no SELECT por Criteria

2 respostas
Lucas_Camara

Estou tendo dificuldades para fazer um select utilizando criteria que tenha um cálculo na cláusula SELECT.

Ex:

SELECT
  tb1.dataA,
  sum(tb1.valorA) - sum(tb2.valorB)
from 
  tabela1 tb1, 
  tabela2 tb2 
where
  tb1.dataA >= '01/01/2000'
group by tb1.dataA
order by tb1.dataA asc

Como fazer esse cálculo via Criteria do Hibernate??

Agradeço qualquer ajuda

2 Respostas

Lucas_Camara

Consegui fazer assim:

ProjectionList projectionList = Projections.projectionList();
		projectionList.add(Projections.sqlGroupProjection(
			"{alias}.dataA as data, sum(tb1.valorA) - sum({alias}.valorB) as valorTotal", 
			"{alias}.dataA", 
			new String[] {"data", "valorTotal"}, 
			new Type[] {Hibernate.DATE, Hibernate.BIG_DECIMAL}));

Não sei se é a melhor forma de fazer, caso alguém tenha uma sugestão…

Vlw

D

Legal, muito obrigado por compartilhar sua solução.

Criado 15 de outubro de 2010
Ultima resposta 15 de out. de 2010
Respostas 2
Participantes 2