Hibernate Criteria acessar um atributo de outra classe
3 respostas
smorigo
Boa noite pessoal estou tentando fazer uma pesquisa onde tenho que acessar um atributo que esta localizado em outra classe, o criteria não tem capacidade de fazer isso ?
Saindo um pouco do critéria…
Poderiam me ajudar na seguinte consulta?
Em sql…
SELECT
LPN.ID_LINHA_PROMOCAO,
LPN.COD_PROMOCAO,
PROMO.DES_PROMOCAO,
OBSERVACAO,
DTC_INICIO,
DTC_FINAL,
DTC_ATIVACAO
FROM
LINHA_PROMOCAO_NOVA LPN,
PROMOCAO PROMO,
LINHA_PROMOCAO_PREMIO LPP,
ATIVACAO ATIV
WHERE PROMO.COD_PROMOCAO=LPN.COD_PROMOCAO
AND LPP.ID_LINHA_PROMOCAO(+)=LPN.ID_LINHA_PROMOCAO
AND ATIV.ID_LINHA_PROMOCAO(+)=LPN.ID_LINHA_PROMOCAO
Em HQL…
select
lpn.codPromocao,
promo.desPromocao,
promo.observacao,
promo.dtcInicio,
promo.dtcFinal,
at.dtcAtivacao
from
LinhaPromocaoNova as lpn left join lpn.linhaPromocaoPremios as lpp,
Ativacao at ,
Promocao as promo
where
promo.codPromocao=lpn.codPromocao
O promlema é que ainda n domino o left join do HQL e o campo “at.dtcAtivacao” só deveria está preenchido em um único registro e não todos da consulta.
Desde já agradeço.
marciobarroso
cbarreto:
Saindo um pouco do critéria…
Poderiam me ajudar na seguinte consulta?
Em sql…
SELECT
LPN.ID_LINHA_PROMOCAO,
LPN.COD_PROMOCAO,
PROMO.DES_PROMOCAO,
OBSERVACAO,
DTC_INICIO,
DTC_FINAL,
DTC_ATIVACAO
FROM
LINHA_PROMOCAO_NOVA LPN,
PROMOCAO PROMO,
LINHA_PROMOCAO_PREMIO LPP,
ATIVACAO ATIV
WHERE PROMO.COD_PROMOCAO=LPN.COD_PROMOCAO
AND LPP.ID_LINHA_PROMOCAO(+)=LPN.ID_LINHA_PROMOCAO
AND ATIV.ID_LINHA_PROMOCAO(+)=LPN.ID_LINHA_PROMOCAO
Em HQL…
select
lpn.codPromocao,
promo.desPromocao,
promo.observacao,
promo.dtcInicio,
promo.dtcFinal,
at.dtcAtivacao
from
LinhaPromocaoNova as lpn left join lpn.linhaPromocaoPremios as lpp,
Ativacao at ,
Promocao as promo
where
promo.codPromocao=lpn.codPromocao
O promlema é que ainda n domino o left join do HQL e o campo “at.dtcAtivacao” só deveria está preenchido em um único registro e não todos da consulta.