是否可以使用 Hibernate 在运行时创建一个新的数据库(使用模型对象的注释作为模式,或我们定义的普通模式文件),然后得到一个连接到该数据库以便可以使用它?
我们想要做的是,当某个 Action 发生时(例如创建一个新用户),我们为该用户创建一个新的数据库(从定义的注释或简单的静态模式),然后有一个处理该数据库,以便用户可以写入。
用户的事情只是为了说明这个概念......
谢谢!
最佳答案
在高层次上,你会做些什么来完成这样的事情:
当触发事件发生时,执行 DDL 以通过 JDBC 连接创建一个新数据库 - 对于在构建时由
hbm2ddl
生成的此模式来说可能是最有意义的。为此数据库构建一个新的
构建一个新的DataSource
,并从DataSource
SessionFactory
然后应将此
SessionFactory
注入(inject)(或由其查找)应用程序的数据访问层,以便为用户找到合适的SessionFactory
.
简而言之,答案是为每个连接/数据库动态构造 SessionFactory
实例,并确保您的数据访问层知道如何找到合适的 SessionFactory
标准。
关于java - 使用 Hibernate 在运行时创建数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5898358/