spring+hibernate 如何启动后创建数据库

Solidsnake 发布于 2014/07/22 14:19
阅读 249
收藏 1

大家好:

我有一个问题需要询问大家.

我的架构是spring+hibernate.

我想在启动后由用户指定数据源并创建相应的表.

但是不指定数据源就启动不了项目.

所以必须指定一个数据源, 但是我不可能知道客户的数据源并配置到配置文件中.

只有启动后等待用户输入, 才可以进行创建. 切换操作.

我的这个需求能不能实现? 我想应该是可以的吧!

加载中
0
抢小孩糖吃
抢小孩糖吃

你这个属于延后加载,首先你要清楚的是你吧hibernate按照一般性放置到spring中的启动顺序是什么 - 先启动hibernate的seesionfactory 之后在启动其他内容,访问页面的javabean

现在你需求的功能是由用户去指定数据库内容由用户去创建表,有两种方法可以进行选择

第一种,仿照PHP使用方式,先启动一个配置服务,这个配置服务对主程序的配置做变更,之后在启动主服务达到相应效果

第二种,在主服务中,延后加载hibernate sessionfactory(非配置,需要把配置转化成为代码并启动spring的事务管理等内容),在主程序的其他部分添加配置或访问代码内容,高级一些的使用xml

S
Solidsnake
基本上第一种是不符合我的需求的. 第二种倒是可以做. 但是具体怎么做, 我还不太清楚.
0
pantrick
pantrick

第二种啊,把创建sessionFactory的代码隔离出来,然后等用户输入数据库配置后,再动态构建啊,spring早就支持了,只不过构建需要I较长时间,!

基本原理就是addBeanDefination

S
Solidsnake
有没有这方面的文章可以让我参考一下吗.
返回顶部
顶部