[Resolvido] Dúvida - selecionar mais de uma entidade de uma vez 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:

http://download.oracle.com/javaee/5/api/javax/persistence/EntityManager.html#createQuery(java.lang.String)

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!