chengaezakmi 2017-12-14 17:15 采纳率: 71.4%
浏览 3057
已采纳

hibernate使用query.setMaxResults()和query.setFirstResult()进行对mysql的数据进行分页查询

我在使用hibernate进行对mysql的数据进行分页查询的时候,用到执行到query.setMaxResults()的时候,报错误
图片说明

报错:
Hibernate: select top 4 goods0_.id as id5_, goods0_.supplierId as supplierId5_, goods0_.bigCategoryId as bigCateg3_5_, goods0_.smallCategoryId as smallCat4_5_, goods0_.goodsBianhao as goodsBia5_5_, goods0_.name as name5_, goods0_.synopsis as synopsis5_, goods0_.unitprice as unitprice5_, goods0_.brand as brand5_, goods0_.factoryProduction as factory10_5_, goods0_.purchasePrice as purchas11_5_, goods0_.chanpinxilie as chanpin12_5_, goods0_.chanpinleixing as chanpin13_5_, goods0_.gonglv as gonglv5_, goods0_.guigechicun as guigech15_5_, goods0_.yingyongkongjian as yingyon16_5_, goods0_.shiyongmianji as shiyong17_5_, goods0_.chanpinfengge as chanpin18_5_, goods0_.chanpingongneng as chanpin19_5_, goods0_.sewen as sewen5_, goods0_.xiansezhishu as xiansez21_5_, goods0_.caizhi as caizhi5_, goods0_.zhibao as zhibao5_ from ruilinxitong.goods goods0_ where 1=1 and goods0_.smallCategoryId=?
Exception in thread "main" org.hibernate.exception.SQLGrammarException: could not execute query
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.loader.Loader.doList(Loader.java:2235)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2129)
at org.hibernate.loader.Loader.list(Loader.java:2124)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:401)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1149)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
at com.ruilin.dao.impl.GoodsDaoImpl.getAlumByGidAndTitle(GoodsDaoImpl.java:54)
at com.ruilin.dao.impl.GoodsDaoImpl.main(GoodsDaoImpl.java:86)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '4 goods0_.id as id5_, goods0_.supplierId as supplierId5_, goods0_.bigCategoryId ' at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
at com.mysql.jdbc.Util.getInstance(Util.java:408)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1966)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1812)
at org.hibernate.loader.Loader.doQuery(Loader.java:697)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
at org.hibernate.loader.Loader.doList(Loader.java:2232)
... 9 more

现在该如何解决呀

很急的问题,帮忙解答,万分感谢

  • 写回答

7条回答 默认 最新

  • 伏月又九 2017-12-15 02:45
    关注

    原因可能有以下几个:
    1、你的hql语句、参数设置有误(从hql段段拼接,参数的先不传递可以解决这个问题)
    2、有可能是你的hibernate配置有误(如果其他的hql能执行则可排除)

    出现这种原因,大部分是hql问题,你多测试几次,hql一段一段执行,参数也可以从hql执行无误之后再传入来解决

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?