java - 使用 Hibernate 在运行时创建数据库?

标签 java mysql hibernate schema

是否可以使用 Hibernate 在运行时创建一个新的数据库(使用模型对象的注释作为模式,我们定义的普通模式文件),然后得到一个连接到该数据库以便可以使用它?

我们想要做的是,当某个 Action 发生时(例如创建一个新用户),我们为该用户创建一个新的数据库(从定义的注释或简单的静态模式),然后有一个处理该数据库,以便用户可以写入。

用户的事情只是为了说明这个概念......

谢谢!

最佳答案

在高层次上,你会做些什么来完成这样的事情:

  1. 当触发事件发生时,执行 DDL 以通过 JDBC 连接创建一个新数据库 - 对于在构建时由 hbm2ddl 生成的此模式来说可能是最有意义的。

  2. 为此数据库构建一个新的DataSource,并从DataSource

    构建一个新的SessionFactory
  3. 然后应将此 SessionFactory 注入(inject)(或由其查找)应用程序的数据访问层,以便为用户找到合适的 SessionFactory .

简而言之,答案是为每个连接/数据库动态构造 SessionFactory 实例,并确保您的数据访问层知道如何找到合适的 SessionFactory标准。

关于java - 使用 Hibernate 在运行时创建数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5898358/

相关文章:

java - 将文本从 TextView 复制到剪贴板

java - 使用DriverManager测试数据库连接(java)

java - 从 Java 使用 groovy.util.AntBuilder

java - 如何使用 Hibernate 保存价格信息

java - JPA(Hibernate)中注释字段和方法之间的区别?

java - 如何从字符串中获取最后一个数字,如 12345678910111213 (数字从 1 到 13 之间没有任何空格)

c# - WWW用C#从php mysql接收json格式的数据

php - 组合Mysql子查询

mysql - Laravel 查询语句

hibernate - hibernate 投影列表