我的查询如下:
select sum(m.value * m.currency) from bill m
它失败并给了我这个例外:
java.lang.IllegalArgumentException:发生异常时 在EntityManager中创建查询:异常说明:语法错误 解析[*]处的查询语法错误。
我正在使用eclipselink。
答案 0 :(得分: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变体)支持它。
答案 1 :(得分:0)
最新的EclipseLink版本(或最有可能是2.2之后的任何版本)应支持此查询。你用的是哪个版本?