Case HQL

Olá estou com um problema que o HQL não está suportando utilização de um CASE, sendo que o erro que retorna é <AST>:1:1267: unexpected AST node: case.
Procurei sobre esse erro, porém não obtive respostas. Se alguém puder me ajudar, agradeceria muito.

Não creio que exista Case com HQL.

Aqui mostra uma lista de funções disponíveis: JPA Consultas e Dicas.

existe sim, seria essa a sintaxe:

"Simple" case, case ... when ... then ... else ... end, and "searched" case, case when ... then ... else ... end

porém da o erro que relatei no primeiro post.

[quote=aureliolima]existe sim, seria essa a sintaxe:

"Simple" case, case ... when ... then ... else ... end, and "searched" case, case when ... then ... else ... end

porém da o erro que relatei no primeiro post.[/quote]Novamente, não existe case para JPQL que é a base. Nunca ouvi falar de case para HQL.

Você teria que usar NativeQuery.

Esta sintaxe retirei da de http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html

[quote=aureliolima]Esta sintaxe retirei da de http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html[/quote]Eita. Mas eles nem mostram como utilizar.

Detesto isso!

Veja c te ajuda: http://stackoverflow.com/questions/456181/using-a-case-statement-in-hql-select

Pelo que vi, parece que o case é aceito porém sem nenhuma condição dentro do THEN ou do ELSE.

Por enquanto achei uma outra solução pra não perder muito tempo nisso, que é a criação de uma outra consulta com hql que retornará apenas um bolean, aí testo o que eu queria, sem utilizar um case para isso.

Obrigado Hebert Coelho.