java.lang.ClassCastException: com.infoair.giis.hibernate.mapping.GiisQueryParameter
org.apache.jsp.QueryParameterDisplayManager_jsp._jspService(QueryParameterDisplayManager_jsp.java:92)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

解决方案 »

  1.   

    List mylist=qp.getTableNames();//getTableNames()返回的是List型
    Iterator it=mylist.iterator();
    while(it.hasNext())
    {Object[] results=(Object[])it.next();
    .....}
    我这里面有类型转换的问题么?谢谢,请帮忙看看!
      

  2.   

    这是类函数
    public class DBGiisQueryParameter {

        public List getTableNames(){
         Session session = null;
    Transaction tx = null;
    try {
    session = HibernateSessionFactory.getSession();
    tx = session.beginTransaction();
    List list = session.createQuery("from GiisQueryParameter").list();

    //tx.commit();
    return list;
    } catch (HibernateException e) {
    e.printStackTrace(); if (tx != null)
    try {
    tx.rollback();
    } catch (HibernateException e1) {
    e1.printStackTrace();
    }
    return null;
    } finally {
    try {
    if (session != null)
    HibernateSessionFactory.closeSession();
    } catch (HibernateException e1) {
    e1.printStackTrace();
    }
    }
        }
    }
      

  3.   

    Object[] results=(Object[])it.next();这句就有问题吧,你迭代器中应该是一条数据表记录的对象,不会是Object数组吧。
      

  4.   

    那你把object[] 改成 object try啦
    实在不行print 一下 it.next().getClass().getName() 看看到底是什么class啦
      

  5.   

    我没有明白您的意思!只要是涉及到hibernate的都会出这个问题。
    不知大家可否给我一个hibernate增删改查的例子呢?
      

  6.   

    List list = session.createQuery("from GiisQueryParameter").list(); 1
    Iterator it=mylist.iterator();                                      2
    while(it.hasNext())                                                3
    {Object[] results=(Object[])it.next();                              4
    System.out.print(results[0]);
    ...}
    tx.commit();
    我是按夏欣的hibernate的例子做的,只是把2-4行写在网页中,通过 public List getTableNames()返回List,
    <%....
    List mylist=qp.getTableNames();
    Iterator it=mylist.iterator();
    while(it.hasNext())
    {Object[] results=(Object[])it.next();%>
    <option value="<%=results[1]%>"><%=results[1]%></option>
    <%
    .....}%>