С этим HQL-запросом:
SELECT DISTINCT fs FROM FileStatus fs WHERE UPPER(STR(fs.filePath)) LIKE :FILE_PATH
Я получаю:
javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute query
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:637)
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:74)
и с моим FILE_PATH
именованным параметром у меня есть следующее на карте:
paramMap.put("FILE_PATH", "%PATHNAME%");
Понятия не имею, почему это происходит. Чтобы сделать вещи более запутанными (или, может быть, это поможет всем), если я использую число в пути к файлу, например paramMap.put("FILE_PATH", "%23%");
, оно работает просто отлично.
Карта параметров передается в метод DAO.read () вместе с запросом. Hibernate обрабатывает все остальное. Примерно так:
fileStatusDao.read(query, parameterMap);
Заранее спасибо за помощь.