Persistencia -&gt Recuperar uma lista com relacionamento

Oi pessoal!

Tenho uma busca em uma tabela que possui relacionamento com mais 3 tabelas de Muitos para um.

[code]public List localiza(int n) throws PersistenceException
{
Query query= manager.createNamedQuery(“dados.findNumero”);
query.setParameter(“numero”,n);

            List<dados> lista= query.getResultList();         
             return lista;
    }[/code]

Só que na hora de ler esses dados no JSP

[code]lista= dao.localiza(7);

for (int i=0; i<lista.size(); i++)
{
vo1=(dados)lista.get(i);
}
[/code]

Recebo o seguinte erro:

[color=red][size=24]java.lang.ClassCastException: [Ljava.lang.Object;[/size][/color]

Alguem sabe o que pode ser???

Pesquisando esse problema… parece que tem alguma coisa a ver com relacionamento mas não entendi direito.

Alguem pode me ajudar??? :?:

na verdade acredito que isso não seja nada a ver com relacionamento

você tem certeza que esse vo1 é da classe dados? Ou que esse dao que você executou o localiza retorna exatamente um List de dados?

O vo1 é o gets e sets do tipo dado

E essa lista esta me retornando uma lista com varios “vo1”

Olhando pelo Debug eu consigo ver que os dados são retornados certos mas na hora que faz essa linha dentro do for:

Simplismente sair do for e mostra o erro

Com as outras tabelas que não tem esse relacionamento essa mesma logica de For, get funciona… mas nessa da esse erro…

então vamos fazer um teste… altere o teu DAO pra isso:

public List<dados> localiza(int n) throws PersistenceException
       {                                                            
                 Query query= manager.createNamedQuery("dados.findNumero");
                 query.setParameter("numero",n);
                 
                 List<dados> lista= query.getResultList();         
                  return lista;
         }

agora veja se o teu ClassCastException acontece no JSP ou no DAO

Fiz… Continua dando o erro no JSP

Provavelmente quando vc da um .get(i) no JSP vc esta puxando o Objeto de uma das tabelas relacionadas. Tenta fazer .get(i).getXXX() onde XXX é o atributo q vc quer buscar. :wink: