我是JPA的新开发人员,负责使用JPQL从数据库编写检索记录。以下是我的查询。基本上我试图从表Z中找到最大的field1。
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
执行此查询时,我收到如下错误
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运行查询时,它工作正常。
答案 0 :(得分:0)
也许您对'':
有疑问NVL (
(SELECT field1
FROM table Z
WHERE X.Id = Z.id.Id),'')
尝试这样的事情:
NVL (
(SELECT field1
FROM table Z
WHERE X.Id = Z.id.Id),0)