Hibernate中莫名其妙的GROUP BY

defencez defencez 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
环境:Spring 2.5 + Hibernate3.2

HQL: select department.organize.id,department.organize.organizename,max(department.createdate) from Department department group by department.organize.id,department.organize.organizename

说明: Department是部门表,Organize是企业表, 部门表与企业表是多对一关系,这已通过映射文件分别做了多对一及一对多映射。Department中有属性organize

通过Spring的getHibernateTemplate().find(HQL)//HQL为上面所写的HQL语句。

执行时出现错误,错误提示:Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause)

看着这不知所云的错误提示(选择列表中存在无效表达式,不能包括集聚函数或Group by子句),于是修改了一下HQL,修改后的HQL为:

HQL:select department.organize.id,max(department.createdate) from Department department group by department.organize.id

执行通过,执行结果正确。

这两句HQL区别只是第一个在选择列表及Group by中多了一个字段,另外,所有HQL均书写正确,已仔细比对过。



不知第一句到底错在哪里?
...全文
评论 6
收藏 已收藏
分享
返回顶部
defencez
Web 开发 81,108 成员 341,721 内容