0
我是JPA的新開發人員,並使用JPQL從數據庫中寫入檢索記錄。以下是我的查詢。基本上我想從表Z.查找選擇查詢的最大值
SELECT X.Id,
MAX (
NVL (
(SELECT field1
FROM table Z
WHERE X.Id = Z.id.Id),'')) field
FROM table1 X, table2 Y
WHERE X.Id = Y.Id
group by X.Id
找到FIELD1最大在執行此查詢我得到如下錯誤
java.lang.IllegalStateException: No data type for node: org.hibernate.hql.ast.tree.AggregateNode
\-[AGGREGATE] AggregateNode: 'MAX'
\-[METHOD_CALL] MethodNode: '('
+-[METHOD_NAME] IdentNode: 'NVL' {originalText=NVL}
\-[EXPR_LIST] SqlNode: 'exprList'
請指教。當我使用普通的sql運行查詢時,它的工作正常。
我試着這樣做,錯誤看起來是一樣的。當我試圖從MAX中刪除SELECT查詢並執行MAX(somefield)之類的操作時,它工作正常。你認爲如果Syntax有問題嗎?請讓我知道 – skanda
jpql是否支持這種語法來查找像select這樣的子查詢的最大值? – skanda
讓我知道如果JPQL不支持MAX中的子查詢。建議這是否是規範限制? – skanda