OnRowEdit抛出java.lang.ClassCastException

时间:2016-02-29 19:29:07

标签: java primefaces datatable classcastexception

我有一行可编辑的primefaces数据表。编辑事件看起来像这样

public void onRowEdit(RowEditEvent event) {
           Object newValue = (Spiel)event.getObject();
           System.out.println("Event Object");
           System.out.println(((Spiel)event.getObject()).getSid());
         }

问题是我仍然得到java.lang.ClassCastException:[Ljava.lang.Object;不能投给klassen.Spiel

Spiel班级

public class Spiel  implements java.io.Serializable {


     private int sid;
     private int mid1, mid2;
     private Mannschaft gast;
     private Mannschaft heim;
     private String heimname;
     private String gastname; 
     private String tipp;
     private String endstand;
     private Date spielzeit;


     private Set<Wette> wettes = new HashSet<Wette>(0);

    public Spiel() {

    }


    public Spiel(int sid, Mannschaft heim, Mannschaft gast, Date spielzeit) {
        this.sid = sid;
        this.heim = heim;
        this.gast = gast;
        this.spielzeit = spielzeit;
    }

    public Spiel(int sid, int mid1, int mid2) {
        this.sid = sid;
        this.mid1 = mid1;
        this.mid2 = mid2;
    }
/* ... some other code */

数据表通过以下两种方法获取数据值:

//controller
    public DataModel getSpieleKomplett(){



      if(spielListeKomplett==null){
            spielListeKomplett = new ListDataModel(helperSpiele.getSpieleKomplett());
        }
        return spielListeKomplett;
    }

//helper    
public List getSpieleKomplett(){

       List spielListKomplett = null;

        try {

            if(session.isOpen()==false){
                session = HibernateUtil.getSessionFactory().openSession();
            }
            org.hibernate.Transaction tx = session.beginTransaction();
            Query q = session.createSQLQuery("SELECT * FROM spiel");
            spielListKomplett = q.list();
            session.getTransaction().commit();
            if(session.isOpen()==true){session.close();}       
        } catch (Exception e) {
        }
        return spielListKomplett;
    }

我的问题是我应该怎么做才能转换event.getObject以便我可以通过getter方法访问对象中的值? 或者是否有其他方法可以从对象中获取值?

提前致谢。

完整代码在这里:https://github.com/tippspiel/em2016

0 个答案:

没有答案