我正在研究JPA。我的要求是从表中获取列名和数据类型。 我有Query这样做,但那些是Native Query的。如果我使用那些Native Query,它是否会支持任何数据库,如Oracle,MySql,......
现在使用MySql和JPA工作正常。
获取表列名称的查询
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'SchemaName'
AND TABLE_NAME = 'TableName';
我在JPA中使用 createNativeQuery()在Query上执行。它是否会支持所有数据库。如果没有,那么我该怎么做呢。非常感谢你。
答案 0 :(得分:0)
在Oracle中,您可以使用ALL_TAB_COLUMNS
表,在MS SQL服务器和MySQL中,您可以使用INFORMATION_SCHEMA.COLUMNS
表来获取有关表和列的信息。
SELECT * FROM ALL_TAB_COLUMNS
WHERE OWNER = 'SchemaName' AND TABLE_NAME = 'TableName';