Я использую Spring 3.1.0, Hibernate 4, JDK 7 для Tomcat 7 и получаю исключение ClassCastException в методе itr.next(). Объект aaData действительно содержит данные.
List<CustomerList> aaData = customerlistDaoimpl.getCustomerList();
/*
* putting data in a JSON form that DataTables recognizes
*/
String data = "{\"sEcho\": 3, \"iTotalRecords\": " + count + ",\"iTotalDisplayRecords\": " + count + ",\"aaData\": [ ";
Iterator<CustomerList> itr = aaData.iterator();
while(itr.hasNext()){
CustomerList cl = (CustomerList) itr.next();
data += "[\"" + cl.getName() + "\",\"" + cl.getAddress() + "\",\"" + cl.getZipcode() + "\",\"" +
cl.getPhone() + "\",\"" + cl.getCity() + "\",\"" + cl.getCountry() + "\",\"" + cl.getNote() + "\" ] ";
count++;
}
data += "]}";
Мое Дао
@SuppressWarnings("unchecked")
@Override
public List<CustomerList> getCustomerList() {
List<CustomerList> cuList = null;
Session session = null;
try{
session = sessionfactory.openSession();
session.beginTransaction();
cuList = session.createSQLQuery("select * from customer_list").list();
session.getTransaction().commit();
}catch (RuntimeException e){
System.out.println(e.getMessage());
}
finally
{
if(session != null){
session.close();
}
}
return cuList;
}
И след назад
СЕРЬЕЗНЫЙ: Servlet.service() для сервлета [sptestjs] в контексте с путем [/SPTestJs] вызвал исключение [Ошибка обработки запроса; вложенным исключением является java.lang.ClassCastException: [Ljava.lang.Object; нельзя привести к com.sptestjs.implementation.CustomerList] с основной причиной java.lang.ClassCastException: [Ljava.lang.Object; нельзя привести к com.sptestjs.implementation.CustomerList в com.sptestjs.implementation.controller.HomeController.getCustomerList(HomeController.java:85) в sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) в sun.reflect.NativeMethodAccessorImpl.invoke (Неизвестный источник) в sun.reflect.DelegatingMethodAccessorImpl.invoke (Неизвестный источник)
я нашел звонок
SQLQuery cuSQLQuery = session.createSQLQuery("select * from customer_list");
возвращает экземпляр SQLQuery, и его список имеет тип ArrayList элементов Object, где
Query cuQuery = session.createQuery("from customer_list");
возвращает null
.
StringBuilder
для добавления данных здесь, а не многократное использование+=
. - person Jon Skeet   schedule 02.08.2013itr.next()
? Возможно ли, что этоnull
? - person   schedule 02.08.2013