0

我有一个关于休眠的问题。

我想在运行时使用 java 连接到数据库并获取有关表的信息(其所有列及其元数据 - 数据类型、排序规则、索引、描述、键等)。

我在开发时无法访问该数据库。Java 应用程序将安装在不知道它们是数据库的其他公司中。是否有可能使用 Hibernate 来实现这个目标?

我无法在 xml 中创建映射或使用注释,因为我不知道架构/表/列。

换句话说,也许:是否可以在应用程序运行时创建 xml 映射?从此 xml 文件中创建对象并在运行时从创建的对象中读取属性?

我希望这个问题现在更清楚了。

4

4 回答 4

7

实际上这是可能的,尽管非常困难!

这篇文章将帮助您入门: http: //www.manydesigns.com/en/blog/configuring-hibernate-programmatically-part-2

于 2013-08-20T22:40:48.997 回答
1

为什么要使用 Hibernate 执行此操作?这似乎更像是常规 JDBC 的工作。如果你说的是真的,你想做的就是获取数据库元数据。

http://docs.oracle.com/javase/6/docs/api/java/sql/ResultSetMetaData.html

于 2012-11-20T10:42:16.393 回答
0

不,它在 Hibernate 中是不可能的。

使用 Hibernate 必须将您的类文件映射到数据库表。如果没有任何关于数据库模式的知识,就不可能获得这样的细节。

于 2012-11-20T11:43:31.577 回答
0

不,使用 Hibernate 是不可能的

于 2014-06-17T07:18:47.333 回答