我有一个网络服务器,正在使用 hibernate 和 spring 制作一些工作原型(prototype)。我有一个插入方法,可以插入一堆测试数据。当用户请求我网站上的某个页面时,该脚本就会启动。我希望在用户进入此页面时删除并重新创建数据库。
是否有像我建议的那样在运行时执行此操作?我可以停止和启动我的服务器,但这需要一段时间。
更新 - 这是我的做法:
Configuration configuration = new Configuration().configure();
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
SchemaExport schemaExport = new SchemaExport(serviceRegistry, configuration);
schemaExport.create(Target.BOTH);
最佳答案
你可以直接使用SchemaExport
hibernate类,看看javadoc .
当您设置参数hibernate.hbm2ddl.auto=create-drop
时,这与hibernate内部调用的类相同。可以使用 dropSchema()
和 createSchema()
触发删除和创建架构。
关于java - 如何让 Hibernate 在运行时而不是在编译时删除并重新创建数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22796910/