我是hibernate的新手。我想在我的hibernate sql查询中使用关键字,如:
select from Store where storeName like 'a%' having productCount >1
此处Store与store表映射,storeName与store表的store_name映射,productCount与store table的product_count映射。
所有映射都运行正常。但是,当我运行此查询时,它返回以下错误:
org.hibernate.hql.ast.QuerySyntaxException: unexpected token: having near line 1, column 43.
所以有人帮我解决这个问题吗?
答案 0 :(得分:2)
您只能将HAVING
与GROUP BY
一起使用。没有GROUP BY的情况没有意义。在您的示例中,缺少GROUP BY子句。
也许你的意思是这个(如果你想计算行数)
from Store where storeName like 'a%' group by storeName having count(*) >1
或者这个(如果有一个映射成员变量名称为productCount的列)
from Store where storeName like 'a%' and productCount >1
(在您的示例中,P。S.更好地使用from
而不是select
- 但这与您的错误没有任何关系。)
答案 1 :(得分:0)
你不能拥有和两者都应该像
from Store where storeName like 'a%' and productCount >1