Hibernate - SqlRestriction com alias

Estou com um problema…

Modifiquei as minhas consultas para retirar os ç, e acentos, e para isso usei o comando sqlRestriction para aplicar um Sql direto para efetuar a pesquisa, ficando assim

criteria = criteria.add(Restrictions.sqlRestriction("(TRANSLATE( " + key  + " , 'ÁÀÃÂÄÉÈẼÊËÍÌĨÎÏÓÒÕÔÖÚÙŨÛÜÇáàãâäéèẽêëíìĩîïóòõôöúùũûüç', 'AAAAAEEEEEIIIIIOOOOOUUUUUCaaaaaeeeeeiiiiiooooouuuuuc')) ilike  (TRANSLATE( '" + ((String) valor) + "' , 'ÁÀÃÂÄÉÈẼÊËÍÌĨÎÏÓÒÕÔÖÚÙŨÛÜÇáàãâäéèẽêëíìĩîïóòõôöúùũûüç', 'AAAAAEEEEEIIIIIOOOOOUUUUUCaaaaaeeeeeiiiiiooooouuuuuc'))"));

Assim o usuário pode pesquisar por exemplo um nome de cliente sem a necessidade de digitar um acento para a pesquisar corretamente.

Quando é pesquisa de um nível somente, ele pesquisa certo, ou seja…
Se estiver pesquisando por nome de cliente na tabela de clientes, então o key seria igual a nome…funcionaria corretamente,
porém se tiver que pesquisar em mais de um nível, por exemplo… se pesquisar o nome do cliente na classe de vendas,
a variável key teria o valor de cliente.nome … então já não pesquisaria…

percebi que o problema está na hora do hibernate gerar o sql… não sei por que., mesmo definindo o alias para cliente, o hibernate adiciona um “1_” no fim do alias definido… e os alias colocados no comando “SQLRESTRICTION” não adicionam esse “1_” no fim do nome…

Alguém já passou por isso, ou tem alguma outra maneira de retirar os acentos de pesquisas sem utilizar o sqlRestriction?

Obs: EStou usando o banco postgres…