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

JPQL是否支持查询中相同字段上的求和和和算术函数?

赫连越
2023-03-14

我的问题是:

select sum(m.value * m.currency) from bill m 

它失败了,给了我一个例外:

Java语言lang.IllegalArgumentException:在EntityManager中创建查询时发生异常:异常描述:在[*]解析查询语法错误时发生语法错误。

我正在使用eclipselink。

共有2个答案

伯博
2023-03-14

最新的EclipseLink版本(或者最有可能是2.2之后的版本)应该支持此查询。你用的是什么版本?

夏飞掣
2023-03-14

规范将求和表达式定义为:

aggregate_expression ::=
  { AVG | MAX | MIN | SUM } ([DISTINCT] state_field_path_expression) |
  COUNT ([DISTINCT] identification_variable | state_field_path_expression |
         single_valued_object_path_expression)

所以不,您的查询无效JPQL。不过,HQL(Hibernate JPQL变体)支持它。

 类似资料:
  • 我有一个表ROOT和一个包含与ROOT相关行的表子级。 我想为根的每一行检索一个对象,该对象包含根对象以及与CHILDREN表中的ROOT.id相关的行数。 这可以很容易地在SQL中实现,但我想知道如何在JPQL中编写 在SQL中: 知道吗?

  • 我需要帮助与HQL/JPQL查询JavaSpring Boot项目与Hibernate和Postgresql数据库。 主要实体是学生和课程(为简洁起见,省略了额外的字段和注释)。 学生 持久实体: 数据库表: 课程可以是存储在数据库中uuid[]字段中的不同课程周期的一部分。 持久实体: 数据库表: 我需要一个方法

  • 我有一个复杂的Kafka流应用程序,在同一个流中有两个完全有状态的流: null 主要目标是提供一个工作流系统。 详细的逻辑是: 执行是任务运行列表 查看所有的所有当前状态,并查找要执行的下一个 如果找到任何任务,则执行更改它们的并添加下一个任务并发布回Kafka,同时将要完成的任务()发送到另一个队列 在Kafka流之外继续并使用简单的Kafka使用者和生产者发布回另一个队列( ) 在当前中的更

  • 如何将这个复杂的sql语句更改为JPQL? 这是否可以在JPQL表单中显示?

  • 问题内容: 我有这样的桌子 我想获得具有相同发明编号的订单数量总和 那就是想要这样的结果 我们如何编写mysql查询 问题答案: 利用聚合函数并根据进行分组。 GROUP BY子句

  • 问题内容: 通过阅读的ECMAScript 5.1规范,和被区分。 那为什么要评估? 问题答案: JavaScript使用IEEE754标准表示数字。: 有符号的零 为零,具有相关的符号。在普通算术中,-0 = +0 =0。但是,在计算中,某些数字表示形式允许存在两个零,通常用 -0(负零) 和 +0(正零)表示 。这在某些带符号的整数表示形式以及大多数浮点数表示形式中都会发生。数字0通常被编码为