2012-07-25 38 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之後的任何東西)中受支持。你使用什麼版本?

相關問題