【问题标题】:How to get Column names Column Data types Form Table using Eclipse Link/JPA如何使用 Eclipselink/JPA 从表中获取列名列数据类型
【发布时间】:2014-03-04 05:53:55
【问题描述】:

我正在研究 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() 执行上述查询。是否将支持所有数据库。如果没有,那么我该怎么做。非常感谢你。

【问题讨论】:

    标签: java sql oracle jpa eclipselink


    【解决方案1】:

    在 Oracle 中,您可以使用 ALL_TAB_COLUMNS 表,在 MS SQL 服务器和 MySQL 中,您可以使用 INFORMATION_SCHEMA.COLUMNS 表来获取有关表和列的信息。

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

    【讨论】:

    • 我需要一个查询来支持任何数据库。谢谢
    • 因为你标记了ORACLE,所以我在oracle 中回答了问题,DBMS 你在哪个@工作?
    • 为什么因为我需要一个查询来支持任何数据库。这就是我标记的原因。我也在我的问题中解释过。
    猜你喜欢
    • 2012-05-29
    • 2012-06-16
    • 1970-01-01
    • 2020-10-16
    • 2013-12-10
    • 1970-01-01
    • 1970-01-01
    • 2010-10-27
    • 2014-05-04
    相关资源
    最近更新 更多