Oui, left() n'est pas pris en charge par le MySQLDialect . Voir la liste des fonctions prises en charge par HQL sur Documentation API
.
Il vous reste maintenant 2 options.
- Utilisez
session.createSQLQuery()méthode. - Créez votre propre
Dialectclasse en étendant leMySQLDialectet enregistrez-y la fonction. Ceci est dit sur le forum hibernate ici bien expliqué dans un article de blog ici .