ключевое слово таблицы не принимается в jpql - PullRequest
0 голосов
/ 10 января 2019

Я пишу мыльные сервисы, используя JPA - eclipseLink. У меня есть класс с именем Table и я хочу написать NamedQuery "ВЫБЕРИТЕ t ИЗ ТАБЛИЦЫ t ГДЕ t.schema =: схема И t.parent =: родитель И t.name =: имя", но я получаю неожиданную ошибку.

Я уже реализовал тот же запрос с абсолютным успехом для других объектов. И когда я, например, изменил имя таблицы объекта класса на TableX и изменил запрос в равной степени («ВЫБРАТЬ t ИЗ TableX t ГДЕ t.schema =: схема AND t.parent =: родитель AND AND t.name =: name ") это сработало, поэтому я думаю, что проблема с ключевым словом Table. Как я могу использовать это слово в моем namedQuery без изменения всего класса?

Я получаю эту ошибку: Исключение [EclipseLink-28019] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.EntityManagerSetupException Описание исключения: Развертывание PersistenceUnit [mdtws-метабаза] завершилось неудачно. Закройте все фабрики для этого модуля. Внутреннее исключение: исключение [EclipseLink-0] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.JPQLException Описание исключения: синтаксическая ошибка синтаксического разбора [ВЫБРАТЬ t ИЗ ТАБЛИЦЫ t ГДЕ t.schema =: схема AND t.parent =: родитель AND AND t.name =: имя]. [19, 19] Левая скобка отсутствует в выражении TABLE.

...