2016-12-07 45 views
0

我有一個表「測試」在架構「MYSCHEMA」下的Oracle數據庫。如何將雙引號附加到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尼爾斯托克頓 – user1940878

+0

您可能可以在'persistence-unit-defaults'中使用'delimited-identifiers'元素。當然,這將影響你所有的其他標識符,並可能導致其他問題.... –

回答

0

你試過了嗎?

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

周圍表名只有單引號

+0

感謝您的答覆尼萊什Jadav。我曾嘗試在表名稱周圍添加單引號,並嘗試在表名稱中添加任何內容。它也給出同樣的錯誤。 – user1940878

+0

請閱讀第8和第9點,可能會幫助你! https://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements008.htm –