HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: could not execute query
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause org.hibernate.exception.GenericJDBCException: could not execute query
org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
org.hibernate.loader.Loader.doList(Loader.java:2223)
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
org.hibernate.loader.Loader.list(Loader.java:2099)
org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
com.xuhao.dao.UsersDAOImpl.findAllPage(UsersDAOImpl.java:84)
com.xuhao.service.UsersFacadeImpl.findBook(UsersFacadeImpl.java:81)
com.xuhao.struts.action.UsersAction.findAllBook(UsersAction.java:124)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:106)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
--------------------------------------------------------------------------------Apache Tomcat/5.0.28
这是具体的提示信息,谢谢大家了,帮忙看看!!

解决方案 »

  1.   

    我看了上面的,报错,也看了,hql没有错啊,
    UsersDAOImpl.findAllPage的代码:
     // 根据页数检索人员信息记录
    public List<Stu> findAllPage(Integer first, Integer max) {
    try {
    List list=null;
    String queryString = "from Stu";
    Query q = getHibernateTemplate().getSessionFactory()
    .openSession().createQuery(queryString);
    q.setFirstResult(first);
    q.setMaxResults(max);
    return q.list();
    } catch (RuntimeException re) {
    throw re;
    }
    }
    UsersFacadeImpl.findBook代码:
    public Object[] findBook(Integer page, Integer max) {
    // 总页数
    Integer pageNum = 0;
    if (usersDAO.findAll().size() % max == 0) {
    pageNum = usersDAO.findAll().size() / max;
    } else
    pageNum = usersDAO.findAll().size() / max + 1;
    List<Stu> list = usersDAO.findAllPage(max * (page - 1), max);
    Object[] o = new Object[2];
    o[0] = pageNum;
    o[1] = list;
    return o;
    UsersAction.findAllBook代码:
    public ActionForward findAllBook(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)
    throws Exception {
    DynaActionForm dyForm = (DynaActionForm) form;// 定义一个动态ActionForm对象
    Integer page = (Integer) dyForm.get("page");// 取得页数
    if (page == null) {
    page = 1;
    }
    Object[] o = usersFacade.findBook(page, 5);
    Integer pageNum = (Integer) o[0];
    List<Stu> lr = (List<Stu>) o[1];
    request.setAttribute("pageNum", pageNum);// 将pageNum放入Request对象中
    request.setAttribute("allUserList", lr);// 将lr放入Request对象中
    return mapping.findForward("showAllUsers");
    }
      

  2.   

    你写个简单的main方法测试下
    或者用单元测试下你的方法也可以
      

  3.   

    你的查询语句测试没问题么?顺便说下 获取session最好别用getHibernateTemplate().getSessionFactory()  用回调这个好像会连接泄露
    Query q = getHibernateTemplate().getSessionFactory() 
    .openSession().createQuery(queryString); 
      

  4.   

    public List Fenye(String hql,int pageid) {
    log.debug("finding all Userinfo instances");
    try {

    Query queryObject = getSession().createQuery(hql);

    queryObject.setFirstResult(5*(pageid-1));
    queryObject.setMaxResults(5);

    return queryObject.list();

    } catch (RuntimeException re) {
    log.error("find all failed", re);
    throw re;
    }
    }LZ试下我这个方法吧!我也做过这个ssh的分页!