Hibernate GROUP BY对Oracle无效

时间:2017-07-28 13:13:26

标签: java oracle hibernate group-by

我创建了一个像这样的Hibernate查询:

select new ProjectForUser
  (p.projectId, p.name, p.description, p.client, p.startDate, p.endDate,
   p.liveDate, p.projectState, p.overallRagStatus, p.scopeRagStatus, p.flt,
   up.projectManager) 
from UserProjectAssociation up left join up.project p 
where up.user.id = :userId and up.project.projectState != 'ARCHIVED' 
group by p.projectId

为用户检索项目。项目存储在一个表中,用户存储在另一个表中,UserProjectAssociation是一个带有附加属性的连接表 - projectManager。

整个查询适用于H2数据库,但在oracle上我收到此错误:

ORA-00979: not a GROUP BY expression

使用GROUP BY for Oracle的正确方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

问题。当GROUP BY子句不包含SELECT子句中的所有表达式时,会发生ORA-00979。任何未包含在GROUP函数中的SELECT表达式都必须在GROUP BY子句中列出。它们是AVG,COUNT,MAX,MIN,SUM,STDDEV和VARIANCE。

请参阅:https://www.tekstream.com/resources/ora-00979-not-a-group-by-expression/