2014-04-01 37 views
0

我有一个网络服务器,我正在用冬眠和春天做一些工作原型。我有一个插入一堆测试数据的插入方法。当我的网站上的某个页面被用户请求时,此脚本就会启动。我希望在用户进入此页面时删除并重新创建数据库。如何让Hibernate在运行时删除并重新创建数据库,而不是在编译时?

有没有办法在运行时间这样做,就像我建议的那样?我可以停止并启动我的服务器,但这需要一段时间。

更新 - 这是我如何做的:

Configuration configuration = new Configuration().configure(); 
    ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry(); 
    SchemaExport schemaExport = new SchemaExport(serviceRegistry, configuration); 
    schemaExport.create(Target.BOTH); 

回答

3

您可以直接使用的SchemaExport休眠类,看看在javadoc

当您设置参数hibernate.hbm2ddl.auto=create-drop时,这与休眠时内部调用的类相同。使用dropSchema()createSchema()可以触发删除和创建模式。

+0

非常感谢。 –

相关问题