Ola pessoal, quando executo uma busca no banco de dados, eu recebo esse erro:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to teste.ems2.model.Atividade
at teste.ems2.application.Adm.Tables.ProjetoTableModelStandard.getValueAt(ProjetoTableModelStandard.java:135)
at javax.swing.JTable.getValueAt(JTable.java:2716)
...
O codigo que uso para inserir valores em uma JTable com modeloAbstractTableModel é:
[code] @Override
public Object getValueAt(int indexRow, int indexColumn) {
Activite ac = rows.get(indexRow); //linha 135
switch (indexColumn) {
case 0:
return ac.getNomActivite();
case 1:
return ac.getPhases().get(0).getDateDebut();
case 2:
return ac.getPhases().get(0).getDateFin();
case 3:
return ac.getPhases().get(0).getPourcentage();
case 4:
return ac.getPhases().get(1).getDateDebut();
case 5:
return ac.getPhases().get(1).getDateFin();
case 6:
return ac.getPhases().get(1).getPourcentage();
case 7:
return ac.getPhases().get(2).getDateDebut();
case 8:
return ac.getPhases().get(2).getDateFin();
case 9:
return ac.getPhases().get(2).getPourcentage();
case 10:
return ac.getPhases().get(3).getDateDebut();
case 11:
return ac.getPhases().get(3).getDateFin();
case 12:
return ac.getPhases().get(3).getPourcentage();
case 13:
return ac.getPhases().get(4).getDateDebut();
case 14:
return ac.getPhases().get(4).getDateFin();
case 15:
return ac.getPhases().get(4).getPourcentage();
case 16:
return ac.getPersonnes().get(0).getPreNom() + " " + ac.getPersonnes().get(0).getNom();
case 17:
return ac.getPersonnes().get(1).getPreNom() + " " + ac.getPersonnes().get(1).getNom();
case 18:
return ac.getPersonnes().get(2).getPreNom() + " " + ac.getPersonnes().get(2).getNom();
case 19:
return ac.getPersonnes().get(3).getPreNom() + " " + ac.getPersonnes().get(3).getNom();
case 20:
return ac.getPersonnes().get(4).getPreNom() + " " + ac.getPersonnes().get(4).getNom();
case 21:
return ac.getNbHeureV();
case 22:
return ac.getNbHeureC();
case 23:
return ac.getNbHeureA();
default:
throw new IndexOutOfBoundsException("columnIndex out of bounds");
}
}[/code]
O codigo que uso para buscar na base de dados:
[code]public List findAllActiviteELEC(String tache) {
try {
return (List<Activite>) em.createQuery("SELECT ac, ta FROM Activite ac, Tache ta WHERE ac.group.nomGroupe = 'ELEC' and ta.nomTache = '"+tache+"'").getResultList();
} catch (NoResultException n) {
return null;
} finally {
em.close();
}
}[/code]
Alguém sabe o motivo disso ? Ja procurei aqui no forum achei algumas coisas relacionadas, porém não consigo arrumar mesmo se eu fizer um Vetor de Objects[] e pegar cada indice, ele sempre da a mensagem que não pode ser convertido para o tipo do objeto Activite.
Muito obrigado !