HQL计数明显较低的语法

时间:2014-06-13 12:03:02

标签: java sql hibernate hql

我想小写所有用户的用户名,然后计算有多少不同的用户名,但是在这个hql查询中出错:

select count(distinct lower(user.username)) from UserEntity as user

org.hibernate.hql.internal.ast.QuerySyntaxException: expecting CLOSE, found 'user' near line 1, column 29 [select count(distinct lower(user.username)) 

这很好用:

select count(distinct user.username) from UserEntity as user

但是当我添加较低的(...)它失败时,我们非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

怎么样:

select count(lower(user.username)) from UserEntity as user group by lower(user.username)

我的猜测是你搞乱了聚合函数和语句:count(disctinct lower(...))是[聚合函数] - [语句] - [聚合函数]模式,HQL不支持(或至少{ {3}})。

答案 1 :(得分:0)

感谢@Serge Ballesta,我最终只是将其作为SQL查询而不是HQL查询运行,并且运行正常。