Я пишу мыльные сервисы, используя 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.