Pessoal estou com essa query abaixo e não estou conseguindo cria-la usando o Criteria do Hibernate.
Alguem poderia me ajudar??
SELECT
td.NOME,
so.nome,
CALC.VALOR SALDO
FROM
debito d
JOIN tdc on tdc.id = d.ID_TIPO_DEBITO_CLIENTE
JOIN td on td.id = tdc.ID_TIPO_DEBITO
JOIN cliente on cliente.id = tdc.id_cliente
JOIN CALC ON CALC.ID_DEBITO = d.ID AND CALC.ID_TIPO_CALCULO = 5
JOIN so on cliente.id_suborgao = so.id
JOIN dp on dp.id_debito = d.id
WHERE d.id = 26126809
Quando ele gera o SQL para mim, está gerando da seguinte forma:
FROM
Debito this_
INNER JOIN Calculo calc2_ ON this_.id=calc2_.ID_DEBITO
LEFT OUTER JOIN Debito debito5_ ON calc2_.ID_DEBITO=debito5_.id
Ou seja, ele está repetindo o JOIN que estou fazendo sendo que quero que ele faça apenas um INNER JOIN. Esse LEFT JOIN que ele está fazendo está a mais…
Desde já agradeço…
Lucas_Cavalcanti
tentou usar o createAlias ao invés do createCriteria?
acho que ele gera outro SQL…
a api de criteria gera uns joins desnecessários de vez em quando mesmo…
vc tem que ver se não está acessando algum atributo que leva a esse segundo join…