gpt4 book ai didi

sql - 列出 Hibernate 中的所有表

转载 作者:行者123 更新时间:2023-12-04 23:43:58 25 4
gpt4 key购买 nike

我想列出数据库中的所有表名。我的应用程序必须独立于 DBMS。不同的 DBMS 有不同的命令来列出表,例如:

PstgreSQL:

SELECT * FROM pg_catalog.pg_table

MySQL:

show tables

甲骨文:

SELECT DISTINCT OBJECT_NAME 
FROM DBA_OBJECTS
WHERE OBJECT_TYPE = 'TABLE'

我认为我应该使用 hibernate,因为为所有 DBMS 编写不同的 SQL 查询很不舒服。网络中有如何在 hibernate 中列出表的示例,但我发现的所有示例仅列出映射的实体。我想列出所有表名,而不考虑 hibernate 实体。

最佳答案

This post解释了如何使用 JDBC 驱动程序执行此操作,恕我直言,这是一种比使用 hibernate 更好的方法。我也会把代码贴在这里,以供引用

Connection conn = DriverManager.getConnection("", "", "");
DatabaseMetaData md = conn.getMetaData();
ResultSet rs = md.getTables(null, null, "%", null);
while (rs.next()) {
System.out.println(rs.getString(3)); // 3rd column is table name
}

关于sql - 列出 Hibernate 中的所有表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27144859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com