2014-03-04 54 views
0

我正在使用JPA。我的要求是從表中獲取列名和數據類型。 我有查詢的,但那些是本機查詢的。如果我使用這些Native Query的,它是否支持任何數據庫,如Oracle,MySql ......如何獲取列名稱列數據類型使用Eclipse的表格表格鏈接/ JPA

現在我正在使用MySql和JPA工作正常。

下面查詢用於獲取表的列名

SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'SchemaName' 
AND TABLE_NAME = 'TableName'; 

我上述查詢使用createNativeQuery()在JPA執行。它會支持所有數據庫嗎?如果沒有,那我該怎麼做。非常感謝你。

回答

0

在Oracle中,您可以使用ALL_TAB_COLUMNS表,在MS SQL服務器和MySQL中,您可以使用INFORMATION_SCHEMA.COLUMNS表獲取有關表和列的信息。

SELECT * FROM ALL_TAB_COLUMNS 
WHERE OWNER = 'SchemaName' AND TABLE_NAME = 'TableName'; 
+0

我需要一個支持任何數據庫的查詢。謝謝 – Prabha

+0

因爲你標記了'ORACLE',我在oracle中回答了這個問題,你正在使用哪個'DBMS'? – Hamidreza

+0

爲什麼因爲我需要一個查詢來支持任何數據庫。這就是我標記的原因。我在我的問題中也解釋了。 – Prabha