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

标签 java spring hibernate

我有一个网络服务器,正在使用 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/

相关文章:

java - jenkins 使用 hibernate create-drop 选项进行部署

java - ArrayList 项和 hibernate 的问题

java - Hibernate 连接列

java - webapplication 是否可以通知 web 容器(例如 Tomcat)正在重新加载、卸载或关闭

java - Android访问IO

java - Spring boot 返回 400 缺少构造函数,没有堆栈跟踪

java - 对 Jtable 列进行排序时 JCombo Box 的排序不起作用

java - spring @GetMapping 是否与 MockMvc 一起工作

eclipse - 无法解析 JRE : jdk7 (Standard VM)

java - Hibernate Generated Value 策略