Org.hibernate.hql.ast.QuerySyntaxException: unexpected AST node: query

Fala galera,

Estou com um problemão com o hibernate quando utilizo subqueries com CASE WHEN … THEN … ELSE … END. Olhem o HQL:


SELECT NEW MAP((CASE
    WHEN SIZE(tcd.vendedor.vendedorParceiras) > 0 
         THEN  (SELECT vEp.empresaParceira.empresa.razaoSocial FROM VendedorParceira vEp WHERE vEp.vendedor.codVendedor = tcd.vendedor.codVendedor)         
         ELSE (SELECT vPf.pessoa.nome FROM VendedorPf vPf WHERE vPf.vendedor.codVendedor = tcd.vendedor.codVendedor)	   		   
    END 
    ) AS nome 
) 
FROM TabelaComissaoDiferenciada tcd

Quando rodo a query me dá o seguinte erro:

 java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: unexpected AST node: query 

Se no THEN e no ELSE eu colocar qualquer coisa que não seja uma subquery, funciona normalmente. Será que existe alguma solução para isso, eu digo, um modo que permita uma subquery com o CASE

Ea aí conseguiu resolver o problema?