Olá a todos,
tem como fazer algo desse tipo:
usando EJB-QL? Ou eu preciso necessariamente quebrar isso em 2 selects pra não ter efeito colateral?
[]'s
Olá a todos,
tem como fazer algo desse tipo:
usando EJB-QL? Ou eu preciso necessariamente quebrar isso em 2 selects pra não ter efeito colateral?
[]'s
Acho que você pode usar EntityManager.createQuery para fazer essa consulta:
A técnica que você precisa é descrita na documentação do Hibernate, mas infelizmente não sei se também vai funcionar no JPA (minha aposta é que vai):
http://docs.jboss.org/hibernate/stable/core/reference/en/html/queryhql.html#queryhql-select
Segue o trecho de interesse contido no link acima:
[quote]Queries can return multiple objects and/or properties as an array of type Object[]:
select mother, offspr, mate.name
from DomesticCat as mother
inner join mother.mate as mate
left outer join mother.kittens as offspr[/quote]
Lendo a sua consulta, vejo que você está fazendo um produto cartesiano. Não seria o caso de incluir uma condição de JOIN entre as tabelas T1 e T2?
Na realidade a idéia não era fazer um produto cartesiano, mas sim selecionar as entidades como se pertencessem à mesma tabela. No caso que eu estava citando, as tabelas possuíam exatamente a mesma estrutura, mas foram separadas porque armazenam dados não-relacionados.
Acabei solucionando o problema utilizando uma view SQL.
Mas obrigada pela idéia!