select new Produto (t.id, t.codigo, t.descricao,
t.grupoProduto.descricao, um.abreviacao, tp.descricao, om.codigo, st.codigo)
from Produto t
left join t.unidadeMedida as um
left join t.tipoProduto as tp left join t.produtoEmpLazy as pe
left join pe.origemMercadoria as om
left join pe.situacaoTributaria as st
controlerHQL.WHERE + " order by t.descricao
O left join em destaque acima eu precisa que tivesse uma clausa-la condicional
algo assim: left join t.produtoEmpLazy as pe on pe.empresa = :empresa
So que isso noa funciona no hibernate. Sabem como podsso fazer isso?
O resultado final teria que ser: left outer join tipoproduto t on t.empresa = 1
Vc estah confundindo as coisas, cláusula condicional eh WHERE, LIMIT, entre outos. entao para fazer um filtro vc precisa compara-lo numa cláusula WHERE ex:
WHERE pe.empresa = :empresa
O ‘ON’ eh um operador que trabalha em conjunto com as operações de junção de tabela. Se eu não me engano na hql nem precisa usá-lo ela jah faz isso internamente.
Lavieri
vc precisa usar @SecondayTables
para definir as tabelas secundarias de seu objeto…
…
de uma olhada nessa anotação, la tem tudo q vc precisa, pra fazer a ligação antre sua tabela principal e a secundaria…
Marcos_Alexandre_Mig
Obrigado pela dica.
Ja descobri a solução
posso usar a seguinte sintaxe left join tipoProduto as tp with tp.empresa.id = :idEmpresa
[]'s Miguel
Lavieri
Marcos Alexandre Miguel:
Obrigado pela dica.
Ja descobri a solução
posso usar a seguinte sintaxe left join tipoProduto as tp with tp.empresa.id = :idEmpresa
[]'s Miguel
so que dessa forma como vc ta fazendo, vc ta deixando de fazer OO, e o bom do hibernate, é esquecer esse HQL e esse SQL
se seu objeto produto ja estiver mapeado… e vc so quiser motnar a pesquisa… fica bem facill
Existe alguma outra forma de obter o mesmo resutlado, usando DetachedCriteria ou Criteria porem sem usar o @SecondaryTables ???
Estou com esse mesmo problema