Sí, left() no es compatible con MySQLDialect . Consulte la lista de funciones compatibles con HQL en documentos API
.
Ahora te quedan 2 opciones.
- Utilice
session.createSQLQuery()método. - Cree su propio
Dialectclase extendiendo elMySQLDialecty registre la función allí. Esto se cuenta en el foro de hibernate aquí bien explicado en una publicación de blog aquí .