当前位置: 首页 > 知识库问答 >
问题:

Spring Data JPQL无法提取结果集

舒阳州
2023-03-14

我想得到分数和日期列在给定范围内的条目数,按分数间隔分组。分数间隔由给定的粒度决定。所以我想回答的问题是:在给定的时间段内,有多少结果的分数在0-25、26-50、56-75等之间。。。在这种情况下,粒度为25。

以下本机SQL查询将生成所需的结果:

SELECT result.score, COUNT(*), ((score-1) DIV 25) AS eqclass FROM v_result AS result GROUP BY (eqclass);

我想用自己的查询定义一个查询方法,使用@Query注释。

@Query("SELECT new com.example.ScoreDistribution(COUNT(scoreStatistics.score), (scoreStatistics.score - 1) / :granularity) FROM ScoreStatisticsEntity scoreStatistics WHERE start_date BETWEEN :startDate AND :endDate GROUP BY ((scoreStatistics.score - 1) / :granularity)")
List<ScoreDistribution> calculateDistributionByGranularity(@Param("startDate") DateTime startDate, @Param("endDate") DateTime endDate, @Param("granularity") int granularity);

它是一个简单的bean,它不是一个实体。

我得到以下例外:

组织。springframework。刀。InvalidDataAccessResourceUsageException:无法提取结果集;SQL[n/a];嵌套的异常是org。冬眠例外SQLGrammarException:无法提取结果集

Hibernate API文档说明:

public class SQLGrammarException extends JDBCException

JDBCException的实现表明发送到数据库服务器的SQL无效(语法错误、无效对象引用等)。

所以,问题是:我的查询有什么问题?

共有1个答案

汪鸿波
2023-03-14

WHEREstart_date应该类似于WHERE scoreStatistics.startDate

 类似资料:
  • 我得到异常后,我适当的结果criteria.unique结果()对象报价。目的查询-从数据库Oracle的表“报价”中获得随机结果 org.hibernate.exception.SQLGrammarExc0019:无法提取org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelega

  • 我的存储库中有nativeQuery查询。 但是当我运行这个页面时,我有一个错误 无法提取结果集;SQL[n/a];嵌套的异常是org。冬眠例外SQLGrammarException:无法提取结果集 产业 能找个人帮我吗。或者如何将这个nativeQuery转换为Hibernate sql?谢谢

  • 请帮我解决这个问题。这是我错误的堆栈跟踪。 Servlet。路径为[]的上下文中servlet[DispatchersServlet]的服务()引发异常[请求处理失败;嵌套异常为org.springframework.dao.InvalidDataAccessResourceUsageException:无法提取结果集;SQL[n/a];嵌套的异常是org。冬眠例外SQLGrammarExcept

  • 1) 从Jboss5升级时,我的hibernate不工作。1.0到Jboss5。2.0,所以Hibernate也可以升级。升级前:hibernate core。jar:3.3.1。GA hibernate entitymanager。jar:3.4.0。GA hibernate注释。jar:3.4.0。GA 升级后:hibernate-core.jar:3.3.2.GA_CP05hibernate

  • 问题内容: 我希望能够获取此url的返回数据。我什至可以在PHP中做到这一点? 我相信这会返回Javascript回调函数,但是我不知道从哪里开始。 以下是返回的结果集的示例。 任何帮助是极大的赞赏。 问题答案: 正确,它是 带有填充的JSON。 您必须删除函数名称(和括号),然后可以使用解析JSON 。 我曾经为此写过一个函数: 用法:

  • 我正在尝试迭代结果数组变量。 我可以在函数内部获取数组值,但是当我尝试在函数外部记录它时,它会显示null。 我在谷歌上搜索了几个帖子,我看到foreach不被推荐,建议是for循环,我甚至尝试过,结果为空。 游标中的问题是什么。forEach()。。。 日志结果: