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

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条)

报告相同问题?

悬赏问题

  • ¥15 Jenkins+k8s部署slave节点offline
  • ¥15 微信小游戏反编译后,出现找不到分包的情况
  • ¥15 如何实现从tello无人机上获取实时传输的视频流,然后将获取的视频通过yolov5进行检测
  • ¥15 WPF使用Canvas绘制矢量图问题
  • ¥15 用三极管设计一个单管共射放大电路
  • ¥15 孟德尔随机化r语言运行问题
  • ¥15 pyinstaller编译的时候出现No module named 'imp'
  • ¥15 nirs_kit中打码怎么看(打码文件是csv格式)
  • ¥15 怎么把多于硬盘空间放到根目录下
  • ¥15 Matlab问题解答有两个问题