我的查询是这样的:JPQL是否支持查询中相同字段的SUM和算术函数?
select sum(m.value * m.currency) from bill m
它失败,给了我这样的例外:
java.lang.IllegalArgumentException异常:异常说明:虽然在 EntityManager的创建查询时出现异常的语法错误 解析[*]处的查询语法错误。
我正在使用eclipselink。
我的查询是这样的:JPQL是否支持查询中相同字段的SUM和算术函数?
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之后的任何东西)中受支持。你使用什么版本?