2014-03-04 21 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