2012-07-25 33 views
0

我的查询是这样的:JPQL是否支持查询中相同字段的SUM和算术函数?

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

它失败,给了我这样的例外:

java.lang.IllegalArgumentException异常:异常说明:虽然在 EntityManager的创建查询时出现异常的语法错误 解析[*]处的查询语法错误。

我正在使用eclipselink。

回答

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

0

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

相关问题