0

我有这个查询

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没有正确生成。

这怎么可能发生?

4

1 回答 1

0

请显示您的表格定义,这样会更容易。提供您的表信息,我们可以查看 create table 子句。

acc.ownId.Id列的标识符是错误的,如果你不在它周围加上“”!

检查正确的列。

也许

acc.ownId只要?还是acc."ownId.Id"

如果您的列名创建为:

Create table AccId (
...
"ownId.Id" int,
...
);

它有效,但我不推荐这种命名。

那么当然,如果您在查询中使用它,则需要用“”包装它。

IE

WHERE acc."ownId.Id" = auth.Id

于 2013-08-21T11:47:36.500 回答