2017-07-28 71 views
0

我创建了一个Hibernate查询,像这样:休眠GROUP BY无效的Oracle

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甲骨文以正确的方式?

谢谢!

+3

您需要在组其他列by子句这是在SELECT语句 – XING

+0

那做的工作,谢谢! – Rabbit

+0

它看起来不像您在选择列表中使用聚合函数;如果你想要做的只是检索唯一的行,那么你需要DISTINCT,即'select distinct col1,col2,col3,... from ...'。我认为这可以在Hibernate中完成。 – Boneist

回答