2016-12-07 2 views
0

私はスキーマ "MYSCHEMA"の下にoracle dbのテーブル "test"を持っています。JPAエンティティクラスのテーブル名のテーブル名に二重引用符を追加する方法はありますか?

select * from MYSCHEMA."test" works fine, but select * from MYSCHEMA.testはエラーを与える:

table or view does not exist

私はJPAクエリ(のJava Springアプリケーション)を使用して、このテーブルからデータを取得しようとしています。

@Entity 
@Table(name = "\"test\"", schema = "MYSCHEMA") 
public Class MyClass { 

} 

JPAクエリでは、テーブル名の前後に二重引用符を使用しても、「テーブルまたはビューが存在しません」というエラーが表示されます。それを解決するには?

テーブル/ dbは既にいくつかの既存のアプリケーションにリンクされているため、テーブル名を編集/名前変更するはずがありません。

+0

いくつかのJPAプロバイダ(例えばDataNucleusの)他の人はあなたがそれを自分で処理する必要があると主張しながら、あなたのためにそれを行います。どのJPAプロバイダがあなたですか? –

+0

EclipseLink Neil Stockton – user1940878

+0

あなたの 'persistence-unit-defaults'で' delimited-identifiers'要素を使うことができるかもしれません。もちろん、それはあなたの他のすべての識別子に影響し、他の問題を引き起こすかもしれません.... –

答えて

0

試しましたか?テーブル名の前後

@Entity 
@Table(name = "test", schema = "MYSCHEMA") 
public Class MyClass { 
} 

のみの単一引用符

+0

返事ありがとうございますNilesh Jadav。私はテーブル名の周りに単一引用符を追加しようとしていると同様にテーブル名に何も追加せずに試してみました。同じエラーが発生しています。 – user1940878

+0

第8、第9のポイントをお読みください、あなたを助けるかもしれません! https://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements008.htm –

関連する問題