java - 如何使用Hibernate在数据库中动态创建表?

标签 java hibernate

我是 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/

相关文章:

java - ZK 菜单项图像未显示

java - Hibernate更新查询

java - AJAX 响应与 java/hibernate 返回的字符串不同

java - Java 应用程序中的多数据库支持

hibernate - 如何在 gradle 中启用 Hibernate Bytecode 增强

java - ServerSocket 连接问题

java - 是否可以为 UTF-8 文件创建 InputStream?

java - Hibernate映射异常: One to None Mapping

java - 通过正则表达式验证连字符

用户名的 Java 正则表达式