Ja, left() wird vom MySQLDialect nicht unterstützt . Siehe die Liste der von HQL unterstützten Funktionen auf API-Dokumentation
.
Jetzt haben Sie zwei Möglichkeiten.
- Verwenden Sie
session.createSQLQuery()Methode. - Erstellen Sie Ihren eigenen
DialectKlasse durch Erweiterung desMySQLDialectund dort die Funktion registrieren. Dies wird im Hibernate-Forum hier erklärt gut erklärt in einem Blogbeitrag hier .