2013-11-29 2 views
0

я, имеющий код, как этотHQL счетчик заявление

(case app.test when 2 then '' end) as tested 

Я пытаюсь получить счет этого app.state так написан, как это после того, как со ссылкой на этот документ http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html_single/#queryhql-aggregation

count (case app.test when 2 then 'tested' end) as tested 

После этого я получать ошибки как

unexpected token: case 

Любая идея

Но это же утверждение работает MySQL

COUNT(CASE WHEN app.test= 2 THEN "tested" END) 'tested', 
+0

я не думаю, что HQL позволяет U использовать агрегатную функцию подсчитывать с футляром .. у, возможно, придется используйте sql-запрос. посмотрите на [this] (http://stackoverflow.com/questions/7068051/case-statement-in-hql-or-criteria?answertab=votes#tab-top) –

+0

Нет hql позволяет выполнять агрегатные функции. Я использовал их – Deepak

ответ

0

Я нашел решение по

sum(case when app.test=2 then 1 else 0 end) as tested 
0
Select count(app.state) as Confirmed from App app where app.state=2 
+0

спасибо за ваши усилия, но здесь я должен применять счетчик для аргументов case, что является проблемой –

Смежные вопросы