我有一个网络服务器,正在使用hibernate和spring进行原型设计。我有一个Insert方法,插入一堆测试数据。当用户请求我网站上的某个页面时,此脚本将启动。我希望在用户进入此页面时删除并重新创建数据库。
有没有像我建议的那样在运行时这样做?我可以停止并启动我的服务器,但这需要一段时间。
更新 - 我就是这样做的:
Configuration configuration = new Configuration().configure();
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
SchemaExport schemaExport = new SchemaExport(serviceRegistry, configuration);
schemaExport.create(Target.BOTH);
答案 0 :(得分:3)
您可以直接使用SchemaExport
hibernate类,查看javadoc。
当你设置参数hibernate.hbm2ddl.auto=create-drop
时,这是由hibernate内部调用的同一个类。可以使用dropSchema()
和createSchema()
触发删除和创建架构。