首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Exception >

org.hibernate.exception.SQLGrammarException,hibernate HQL语句异常

2014-01-26 
通过Hibernate访问数据库,出现了异常。本地配置:jdk 1.4.2 ,Tomcat 4.1 windows系统 MySQL4.X数据库虚拟主机

通过Hibernate访问数据库,出现了异常。
 
  本地配置:jdk 1.4.2 ,Tomcat 4.1 windows系统 MySQL4.X数据库
  虚拟主机配置:jdk 1.4.2 ,Tomcat 4.1 linux系统 MySQL4.X数据库
 
  通过测试(从Session取出Connection进行操作),Hibernate和数据库的连接已经没有问题。可是下面的异常实在不知道是哪里出的问题   
    
  程序源码。
 
  public static List entityList(String hql, int page, int size) {
  if (hql == null || hql.length() == 0) {
  return null;
  }
  Session sess = factory.openSession();
  Query q = sess.createQuery(hql);
  if (page > 0 && size > 0) {
  q.setFirstResult((page - 1) * size);
  q.setMaxResults(size);
  }
  List list = q.list();
  sess.close();
  return list;
  }   
    
  异常堆栈信息。
  包名前缀为ncogi的是我的程序。
 
  org.hibernate.exception.SQLGrammarException: could not execute query org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:65)
  org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
  org.hibernate.loader.Loader.doList(Loader.java:2148)
  org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
  org.hibernate.loader.Loader.list(Loader.java:2024)
  org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
  org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:308)
  org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:153)
  org.hibernate.impl.SessionImpl.list(SessionImpl.java:1129)
  org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
  ncogi.struts.util.SupperUtil.entityList(SupperUtil.java:113)
  ncogi.struts.util.DDO_Util.questList(DDO_Util.java:75)
  ncogi.struts.actions.ddo.Quest_Action.add(Quest_Action.java:76)
  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:324)
  org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
  org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
  org.apache.struts.actions.MappingDispatchAction.execute(MappingDispatchAction.java:169)
  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)
  ......
  java.lang.Thread.run(Thread.java:534)

------解决方法--------------------------------------------------------
SQLGrammarException,语法错误或者数据库对象不存在。
------解决方法--------------------------------------------------------
是不是两个环境表结构或定义不一致

        

热点排行