我有这个查询
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
没有正确生成。
这怎么会发生?
请显示您的表定义,这样会更容易。提供您的表信息,我们可以查看createtable子句。
acc.ownId.Id
是列的错误标识符,如果您不在它周围加"的话!
检查正确的列。
也许
仅acc.ownId
?还是acc."ownId.Id"
?
如果您的列名创建为:
Create table AccId (
...
"ownId.Id" int,
...
);
它是有效的,但我不建议这样命名。
当然,如果您在查询中使用它,则需要用"来包装它。
即
其中acc"ownId.Id"=授权。Id