java - Spring/Hibernate 测试 - 完成后如何删除模式?

标签 java spring hibernate integration-testing

我正在尝试学习 Spring 和 Hibernate 的集成测试。我希望它在运行测试之前创建模式,并在测试完成时将其删除,以便它们始终开始干净。

hibernate.hbm2ddl.auto=create-drop 为我完成第一部分:创建架构。但我怎样才能让它放下呢?

我正在通过将我的应用程序部署到 JBoss 来测试它。架构已正确创建,但是当我取消部署或停止服务器时,它不会被删除。我该怎么做?

最佳答案

一种方法是在您的 applicationContext that implements ApplicationListener<ContextClosedEvent> to receive shutdown events 中注册自定义 bean ,注入(inject) JdbcTemplate 进入那个 bean 并让它调用 DROP SCHEMA ...或者任何你想让它做的事情。

关于java - Spring/Hibernate 测试 - 完成后如何删除模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9852017/

相关文章:

java - Spring @Autowired 为空

java - 如何使用 Spring-roo、hibernate-spatial、Postgres 9.3、postgis 2 对几何(Polygon,4258)等空间类型进行逆向工程?

hibernate - 何时使用 Hibernate 投影?

java - Spring 3.2 + Hibernate 4 OpenSessionInViewFilter

java - 如何将整数转换为整数?

java - 强制客户端或服务器重新启动 SSL 握手(或使 SSL session 过期)

java - 在 Tomcat 10 上部署 Spring MVC 5 ... 部署问题

java - 未找到默认构造函数;嵌套异常是 java.lang.NoSuchMethodException 与 Spring MVC?

java - 为什么出现错误无法解析 google app engine for java 中的 key

java - 如何从 Java 访问 Kotlin 伴随对象