Я создал собственный класс Dialect
открытый класс FullTextSearch extends MySQL5InnoDBDialect {
public FullTextSearch(){
super();
registerFunction("match", new SQLFunctionTemplate(new DoubleType(),"match(?1) against (?2 in boolean mode)"));
}
}
В коде я вызываю этот метод
Query namedQuery = em.createQuery("select user from User user " +
"where match(user.familyName,LOWER(CONCAT(:searchName,'*'))) > 0 " +
"order by user.familyName");
Я добавляю конфигурацию в файл persistence.xml
<property name="hibernate.dialect" value="textsearch.FullTextSearch"/>
Но я получаю сообщение об ошибке
WebServiceException: org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException[AbstractEntityManagerImpl.java:614] threw javax.persistence.PersistenceException (org.hibernate.exception.SQLGrammarException: could not execute query)