我对Hibernate有疑问。
我希望连接到数据库并获取有关表(其所有列及其元数据 - 数据类型,排序规则,索引,描述,键等)的信息,同时使用java运行时。
开发时我无权访问此数据库。 java应用程序将安装在不知道它们是数据库的其他公司中。是否可以使用Hibernate来实现这一目标?
我无法在xml中创建映射或使用注释,因为我不知道模式/表/列。
换句话说,或许: 是否可以在应用程序运行时创建xml映射?从这个xml文件创建对象并在运行时从创建的对象中读取属性?
我希望这个问题现在更清楚了。
答案 0 :(得分:7)
实际上这是可能的,虽然非常困难!
这篇文章将帮助您入门: http://www.manydesigns.com/en/blog/configuring-hibernate-programmatically-part-2
答案 1 :(得分:1)
你为什么要用Hibernate做这个?这似乎更像是常规JDBC的工作。如果您说的是真的,那么您想要做的就是获取数据库元数据。
http://docs.oracle.com/javase/6/docs/api/java/sql/ResultSetMetaData.html
答案 2 :(得分:0)
在Hibernate中不可能。
使用Hibernate强制将您的类文件映射到数据库表。如果不了解数据库模式,就无法获得这些细节。
答案 3 :(得分:0)
不可以使用Hibernate