我是 hibernate 新手,我需要动态创建数据库表。这意味着我将从用户界面中获取表详细信息。假设我们将用户的表属性(列)数量限制为 5 左右。
我已经阅读了有关 hibernate 的各种教程,我发现我们可以创建一个表,但为此我们需要事先上一个类。但就我而言,一切都将是动态的。
与 JDBC 相比,我们可以直接进行 CREATE TABLE 查询,并用 java 代码将表参数传递到查询中。
我的 Web 应用程序使用 REST Web 服务、Spring 3 框架和 MySQL 作为数据库。
任何教程链接或示例代码都会非常有帮助
谢谢
最佳答案
我认为您可以使用 SchemaExport
类,该类具有方法 create()从一组给定的 hibernate 映射文件生成表模式创建脚本,然后执行这些脚本。
您应该根据用户输入的信息实际创建 hibernate 映射 XML,并将该 XML 提供给传递给 SchemaExport
对象的 Configuration
对象。像这样的东西:
Configuration config = new Configuration();
// mappingClass.xml is generated according to the information entered by user
config.addResource("mappingClass.xml");
SchemaExport schemaExport = new SchemaExport(config);
schemaExport.create(true,true)
关于java - 如何使用Hibernate在数据库中动态创建表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9660396/