代码之家  ›  专栏  ›  技术社区  ›  Matthew Moisen

如何让Hibernate在运行时而不是编译时删除并重新创建数据库?

  •  0
  • Matthew Moisen  · 技术社区  · 12 年前

    我有一个Web服务器,正在用hibernate和spring制作一些工作的原型。我有一个Insert方法,可以插入一堆测试数据。当用户请求我的网站上的某个页面时,此脚本启动。我希望在用户进入此页面时删除并重新创建DB。

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

    更新-我是这样做的:

        Configuration configuration = new Configuration().configure();
        ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
        SchemaExport schemaExport = new SchemaExport(serviceRegistry, configuration);
        schemaExport.create(Target.BOTH);
    
    1 回复  |  直到 12 年前
        1
  •  4
  •   Angular University    12 年前

    您可以使用 SchemaExport 直接使用hibernate类,查看 javadoc .

    这是在设置参数时由hibernate内部调用的同一类 hibernate.hbm2ddl.auto=create-drop 。可以使用 dropSchema() createSchema() .