演员表为什么演员失败?由于我的结果是一个平均值列表。但显然有一些魔法是需要的,因为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
抛出的异常究竟在哪里? 尝试设置断点并逐步完成代码。 –