Sim,
left() não é suportado pelo MySQLDialect . Veja a lista de funções compatíveis com HQL em Documentos da API
. Agora você deixou com 2 opções.
- Use
session.createSQLQuery()método. - Crie seu próprio
Dialectclasse estendendo oMySQLDialecte registre a função lá. Isso é dito no fórum de hibernação aqui explicado bem em uma postagem no blog aqui .