演員表爲什麼演員失敗?由於我的結果是一個平均值列表。但顯然有一些魔法是需要的,因爲java認爲它是一個對象。演員表從列表<>
當進一步處理這個問題時,似乎q.getResultList()調用會給我一個對我來說很陌生的對象的原始列表,因爲它是一個TypedQuery。
TypedQuery<Average> q = em.createQuery("select p.id, p.lastName, p.firstName, c.name, s.serieDate, st.serie_type, st.serie_type_info, count(s.player.id), sum(s.result), avg(s.result) from Serie s, Player p, Club c, SerieType st " +
" where p.id = s.player.id" +
" and c.id = s.club.id " +
" and st.id = s.serieType.id " +
" and c.name like '%" + clubName + "%'" +
" and st.serie_type like '%" + serieType.getSerie_type() + "%'" +
" and st.serie_type_info like '%" + serieType.getSerie_type_info() + "%'" +
" and s.serieDate > :startDate" +
" and s.serieDate < :endDate" +
" group by p.id, p.lastName, p.firstName, c.name, s.serieDate, st.serie_type, st.serie_type_info", Average.class);
q.setParameter("startDate", calendarBean.getDate1());
q.setParameter("endDate", calendarBean.getDate2());
這裏是呼叫
List<Average> resultList = q.getResultList();
List<Average> withAverages = CalculateAveragesClub(resultList);
private List CalculateAveragesClub(List<Average> results) {
for (Average average : results) { //error in this cast
}
SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path [/BowlingFacelets] threw exception [[Ljava.lang.Object; cannot be cast to com.jk.hcp.Average] with root cause
java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to com.jk.hcp.Average
at com.jk.hcp.ServiceSeries.CalculateAveragesClub(ServiceSeries.java:508)
首先檢查你把裏面的方法作爲參數,最好是發佈更多的代碼。 –
你從哪裏調用'CalculateAveragesClub',以及該輸入參數的類型是什麼? – radimpe
拋出的異常究竟在哪裏? 嘗試設置斷點並逐步完成代碼。 –