Pessoal,
Tenho duas entidades:
Produto
ProdutoCodigoBarras
Um único produto (esmalte marca X) pode ter 1 ou mais que 1 códigos de barras relacionados a ele. Isso foi feito para que o cliente não tivesse a necessidade de cadastrar todas as variações de esmalte, por exemplo. Nesse caso ele cadastra apenas um esmalte e depois faz a ligação deste com todos os códigos de barras para tal modelo de esmalte (que normalmente só muda a cor). Ou seja, a entidade ProdutoCodigoBarras possui apenas os atributos:
produto (Produto que possui este código)
codigoBarras (O código de barras)
Estou tentando executar a consulta abaixo:
result = session.find( "from produto in class tisc.multuspdv.beans.Produto "
+ "inner join produto.codigoBarras codigobarras where "
+ "codigobarras.codigoBarras like ?", codigoBarras + "%", Hibernate.STRING );
Até ai tudo bem, a consulta é executada e retorna dados corretamente do BD (sei disso executando um result.size() e comparando com o que tenho realmente no banco).
O problema é que na mesma classe ProdutoDAO eu tenho outras consultas que não possuem JOIN e nesse caso elas retornam apenas instâncias de Produto. A consulta exibida acima retorna um array de Object (onde em uma posição tem-se o Produto e em outra o ProdutoCodigoBarras. Isso é normal? Não existe forma com o JOIN de apenas ser retornado instâncias de Produto e eu acessar os códigos de barras chamando um método como getCodigosBarras()???
Agradeço qualquer ajuda!
Paulo Oliveira

