以下是我的三个类,和错误说明
DAO类   
public       Collection       findall(){   
        List       list=super.getHibernateTemplate().find("from       Petinfo");   
        return       list;   
}   
Service类   
public       Collection       findall(int       startid,int       pageSize){   
Query       query       =(Query)       dao1.findall();   
query.setFetchSize(2);   
query.setFirstResult(startid);//限定查询返回检索结果中,从第一百条结果开始的20条记录   
query.setMaxResults(pageSize);   
List       list=query.list();   
return       list;   
}   action中   
ArrayList       list=null;   
list=       (ArrayList)       service1.findall(startid,pageSize);   报的错误为:   
2008-01-24       10:57:59       StandardContext[/ElePetSys]Initializing       WebApplicationContext       for       Struts       ActionServlet       'action',       module       ''   
2008-01-24       10:59:04       StandardWrapperValve[action]:       Servlet.service()       for       servlet       action       threw       exception   
java.lang.ClassCastException:       java.util.ArrayList   
Service类应该怎样改

解决方案 »

  1.   

    DAO中无参数,SERVICE中怎么会有参数呢。。
      

  2.   

    List               list=query.list();   
       
    ArrayList               list=null;       
    list=               (ArrayList)               service1.findall(startid,pageSize); 
      

  3.   

    为什么list=(ArrayList)service1.findall(startid,pageSize)不用(List)呢?
      

  4.   

    我知道哪里错了,Query与ArrayList没关系.我这里是继承的HibernateDaoSupport,这样我就是为了节省代码!如果,没有继承则这样写:
    String   sql   ="SELECT   COUNT(*)   FROM   PRODUCTS";   
    Query   query   =   session.createSQLQuery(sql);   
    List   li=query.list();
    但是这样代码就多了!