我是休眠的新手,我需要动态创建数据库表。这意味着我将从UI的User中获取表格详细信息。假设我们将用户的表属性(列)数量限制为5个左右。

我已经阅读了有关Hibernate的各种教程,我看到我们可以创建一个表,但是为此我们需要事先准备一个类。但就我而言,一切将是动态的。

与JDBC相比,我们可以直接拍摄CREATE TABLE查询并将表参数传递给Java代码中的查询。

我的Web应用程序使用REST Web服务,Spring 3框架和MySQL作为数据库。

任何教程链接或示例代码将非常有帮助

谢谢

最佳答案

我认为您可以利用SchemaExport类,该类具有方法create()从一组给定的休眠映射文件生成表架构创建脚本,然后执行这些脚本。

您应该根据用户输入的信息以实用的方式创建休眠映射XML,并将该XML馈入传递到Configuration对象的SchemaExport对象。像这样:

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)

08-24 17:41