ynaue
Outubro 18, 2006, 10:46am
#1
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??? :?:
Leozin
Outubro 18, 2006, 10:51am
#2
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?
ynaue
Outubro 18, 2006, 11:42am
#3
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…
Leozin
Outubro 18, 2006, 11:45am
#4
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
ynaue
Outubro 18, 2006, 12:04pm
#5
Fiz… Continua dando o erro no JSP
cado
Outubro 18, 2006, 5:51pm
#6
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.