我有一行可编辑的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方法访问对象中的值? 或者是否有其他方法可以从对象中获取值?
提前致谢。