我的查询是这样的:
select sum(m.value * m.currency) from bill m
它失败了,给了我这个例外:
java.lang.IllegalArgumentException:在 EntityManager 中创建查询时发生异常:异常描述:语法错误解析查询语法错误 [*]。
我正在使用eclipselink。
我的查询是这样的:
select sum(m.value * m.currency) from bill m
它失败了,给了我这个例外:
java.lang.IllegalArgumentException:在 EntityManager 中创建查询时发生异常:异常描述:语法错误解析查询语法错误 [*]。
我正在使用eclipselink。
规范将 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 变体)支持它。
最新的 EclipseLink 版本(或最有可能在 2.2 之后的任何版本)中应该支持此查询。你用的是什么版本?