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

これは暗闇の中でのちょっとしたショットですが、区切られた識別子のサポートを無効にしようと試みることができますか?

openjpa.DBDictionary=sybase(SupportsDelimitedIdentifiers=false)
于 2012-09-04T14:46:15.613 に答える
1

スキーマをテーブル名に連結してみてください。@Table(name="SHARE.dbo.PROVINCE")

于 2012-09-04T10:11:57.977 に答える