Imprimir o número do registro gerado em HQL

0 respostas
wescleyfcosta

Como transformar uma query como está do MySql, onde consigo montar uma String usando o número da linha atual que está sendo impressa para uma query HQL?

Exemplo de query no MySQL

select concat('(',@rownum:=@rownum+1,') ', dm.dma_descricao, ' com desconto de ', d.dmt_porcentagemDesconto, '%') as descricao ,d.dmt_id,d.dmt_valorTotal,d.dmt_quantidadeParcelas, d.dmt_porcentagemDesconto as porcentagem, d.dmt_valorTotal - (d.dmt_valorTotal * (1 - d.dmt_porcentagemDesconto / 100)) as valorDesconto,count(dm.dma_id) as quantidade from Matricula mt, serie s, curso c, MatriculaDespesas m, despesamatricula d, descontomatricula dm, UnidadeEnsino u, (select @rownum:=0) r where mt.mat_idserie = s .ser_id and s.ser_idcurso = c.cur_id and c.cur_ID= s.ser_IDCurso and mt.mat_id = m.mad_idmatricula and m.mad_IDDespesaMatricula = d.dmt_ID and dm.dma_id = d.dmt_idMotivoDesconto and d.dmt_porcentagemDesconto > 0 and s.ser_IDUnidadeEnsino=u.uni_ID and c.cur_id = 2 and u.uni_inativa=0 and d.dmt_IDContaContabil =5 and s.ser_IDUnidadeEnsino=4 and s.ser_IDPeriodoLetivo=26 group by s.ser_id,d.dmt_idMotivoDesconto,d.dmt_porcentagemDesconto order by s.ser_id,d.dmt_idMotivoDesconto,d.dmt_porcentagemDesconto desc

Exemplo do HQL , falta a parte que imprime @rownum da query acima

select new br.com.ultramax.gestaoescolar.core.report.financeiro.Mensalidade(md.descricao || ' com desconto de ' || d.porcentagemDesconto || '%',s,d.valorTotal - (d.valorTotal * (1 - d.porcentagemDesconto / 100)) as valorDesconto) From Matricula m JOIN m.serie s JOIN s.curso c JOIN m.despesas d JOIN d.motivoDesconto md WHERE s.unidadeEnsino = :unidadeEnsino AND s.periodoLetivo = :periodoLetivo AND c = :curso AND m.status.id in (:idStatusMatricula) AND d.contaContabil = :contaContabil AND d.porcentagemDesconto > 0 GROUP BY s, md, md.descricao ORDER BY s, md, md.descricao desc

To procurando alguma coisa aqui na net, se alguém souber da um toque ai… obrigado!!!

Criado 13 de julho de 2010
Respostas 0
Participantes 1