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!!!