我正在使用 HQL 通过 DAO 类获取数据,但它抛出如下错误:
ERROR org.hibernate.hql.PARSER - <AST>:0:0: unexpected AST node: query
以下是我的 Hql 查询:
select new com.shaikh.dto.UserResult ( user.userSurName, avg((select avg(v1.age) from com.shaikh.dto.UserResult v1 where v1.joinDate between to_date(:dayFirst, 'dd-Mon-yy') and to_date(:dayLast, 'dd-Mon-yy') )), avg(user.age) ) from com.shaikh.dto.User user group by user.userSurName";
String [] paramNames = { "dayFirst", "dayLast" };
Object [] values = { firstDay,lastDay};
return getHibernateTemplate().findByNamedParam(queryString, paramNames, values);
我使用 Oracle 11g 作为数据库。
如果我用简单的 avg(user.age) 替换嵌套的 avg() 函数进行测试,它工作正常,所以类映射似乎工作正常。虽然我收到了上述错误,这表明 hql 查询不正确。我不知道我该如何解决它。提前致谢 :)
谢谢和问候,
沙里克