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
Dialect
classe en étendant leMySQLDialect
et enregistrez-y la fonction. Ceci est dit sur le forum hibernate ici bien expliqué dans un article de blog ici .