Tak, left() nie jest obsługiwany przez MySQLDialect . Zobacz listę obsługiwanych funkcji HQL na Dokumentacja API
.
Teraz masz 2 opcje.
- Użyj
session.createSQLQuery()metoda. - Utwórz własny
Dialectklasy, rozszerzającMySQLDialecti zarejestruj tam funkcję. Jest to opisane na forum hibernacji tutaj wyjaśniono dobrze w poście na blogu tutaj .