Неправильная генерация сценариев Oracle SQL из EJB QL
У меня есть этот запрос
SELECT acc.Id
FROM Auth as auth, AccId as acc
WHERE acc.ownId.Id = auth.Id
AND acc.disabled = 0
Который, кажется, был сгенерирован правильно:
org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLSyntaxErrorException: ORA-00904: "T1"."A_ID"."T1"."A_ID": invalid identifier
очевидно acc.ownId.Id
не был сгенерирован должным образом.
Как это могло случиться?
1 ответ
Решение
Пожалуйста, покажите определение вашей таблицы, это упрощает процесс. Предоставьте информацию о вашей таблице, и мы можем взглянуть на предложение создания таблицы.
acc.ownId.Id
неверный идентификатор для столбца, если вы не ставите "" вокруг него!
Проверьте правильность столбца.
может быть
acc.ownId
только? или же acc."ownId.Id"
?
ЕСЛИ имя вашей колонки было создано как:
Create table AccId (
...
"ownId.Id" int,
...
);
Это работает, но я бы не рекомендовал этот вид именования.
Тогда, конечно, вам нужно будет обернуть его в "", если вы используете его в своем запросе.
т.е.
ГДЕ согласно. "OwnId.Id" = auth.Id