异常:org.hibernate.exception.SQLGrammerException和org.hibernate.exception.GenericJDBCEXception

时间:2013-07-08 13:21:05

标签: java hibernate exception hql

这是HQL查询:

SELECT COUNT(s)
FROM Site s  JOIN s.topics t
INNER JOIN t.topicExpertAssignment tea
INNER JOIN tea.expert u 
INNER JOIN u.userinfo info
WHERE tea.assignedBy.id = 1 AND s.createdBy = tea.expert.id
ORDER BY s.name

当我第一次尝试运行此HQL查询时,它会生成org.hibernate.exception.SQLGrammerException: could not execute query异常,当我尝试再次运行此查询时,它会生成org.hibernate.exception.GenericJDBCEXception: could not execute query异常。没有COUNT()查询成功运行。如何解决此异常并提前感谢。

1 个答案:

答案 0 :(得分:1)

查询不正确,因为ORDER BY引用s.name,而s.name不是选择列表中的项目之一。

最有可能正确的解决方法是删除ORDER BY s.name。当结果是一个值时,定义顺序没有多大意义。