Sì, left() non è supportato da MySQLDialect . Consulta l'elenco delle funzioni supportate da HQL su Documenti API
.
Ora ti restano 2 opzioni.
- Usa
session.createSQLQuery()metodo. - Crea il tuo
Dialectclasse estendendoMySQLDialecte registrare lì la funzione. Questo viene detto nel forum di ibernazione qui spiegato bene in un post sul blog qui .