Hibernate2的分页问题

bitiliu 2006-07-03 09:29:20
用Hibernate2实现分页,总是抛出异常,数据库用的是MySql 3.21,Server用的是Tomcat5,老是抛出异常Could not execute query!
//--------------------------------------
String hql = "from Article";
Session s = dao.getSession();
Query query = s.createQuery(hql);
query.setMaxResults(5);
query.setFirstResult(2);
List list = query.list();
//--------------------------------------

net.sf.hibernate.exception.SQLGrammarException: Could not execute query
at net.sf.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:58)
at net.sf.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
at net.sf.hibernate.impl.SessionImpl.convert(SessionImpl.java:4131)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1557)
at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:49)
at com.bitiliu.website.util.WebsiteBusiness.main(WebsiteBusiness.java:687)
Caused by: java.sql.SQLException: You have an error in your SQL syntax near 'select rownumber() over() as rownumber_, article0_.id as id, article0_.title as ' at line 1
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2851)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1531)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1622)
at com.mysql.jdbc.Connection.execSQL(Connection.java:2385)
at com.mysql.jdbc.Connection.execSQL(Connection.java:2306)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1877)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1722)
at net.sf.hibernate.impl.BatcherImpl.getResultSet(BatcherImpl.java:89)
at net.sf.hibernate.loader.Loader.getResultSet(Loader.java:880)
at net.sf.hibernate.loader.Loader.doQuery(Loader.java:273)
at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:138)
at net.sf.hibernate.loader.Loader.doList(Loader.java:1063)
at net.sf.hibernate.loader.Loader.list(Loader.java:1054)
at net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:854)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1554)
... 2 more
...全文
149 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
nighthawk 2006-07-03
  • 打赏
  • 举报
回复
1,检查你的映射文件中用的tld,有可能是3.0的版本吧
2,检查你的sql语句。Article是否在配置文件中注册成功。
bitiliu 2006-07-03
  • 打赏
  • 举报
回复
呵呵,楼上的一语中的,我设成DB2的了。你是如何看不来的?
loverface 2006-07-03
  • 打赏
  • 举报
回复
估计是你的<property name="dialect">配的不对吧,看你的异常好象你选的是ORACLE吧.把hibernate.cfg.xml发上来看看.

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧