从EJB QL生成错误的Oracle SQL脚本



我有这个查询

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

相关内容

  • 没有找到相关文章

最新更新