Я использую 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() простой avg(user.age) для тестирования, она будет работать нормально, поэтому кажется, что сопоставления классов работают нормально. Хотя я получаю сообщение об ошибке, как указано выше, которое сообщает, что запрос hql неверен. Я не уверен, как я могу это исправить. Заранее спасибо :)
Спасибо и с уважением,
Шарик