0

我需要能够引用不同模式上的表,使用 OpenJPA 访问 Sybase 数据库。

因此,例如,我需要选择如下:

SELECT name FROM SHARE.dbo.PROVINCE; 

但是,生成的 SQL 是:

SELECT name FROM "SHARE.dbo".PROVINCE; 

Sybase 拒绝。没有引号它工作正常。

我在课堂上使用以下注释:

@Entity
@Table(name="PROVINCE", schema="SHARE.dbo")

usingschema="SHARE"不起作用,尽管它生成的 sql 没有任何引号。(Sybase 需要 schema.owner.table,SCHEMA.PROVINCES未知对象也是如此)

关于如何解决这个问题的任何想法?

4

2 回答 2

1

尝试将模式连接到表名:@Table(name="SHARE.dbo.PROVINCE")

于 2012-09-04T10:11:57.977 回答
1

这有点摸不着头脑,但是您可以尝试禁用分隔标识符支持吗?

openjpa.DBDictionary=sybase(SupportsDelimitedIdentifiers=false)
于 2012-09-04T14:46:15.613 回答