0

我的查询是这样的:

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

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

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

我正在使用eclipselink。

4

2 回答 2

1

规范将 SUM 表达式定义如下:

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 变体)支持它。

于 2012-07-25T16:38:29.110 回答
0

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

于 2012-07-31T14:43:54.730 回答