我的单元测试使用 Hibernate 连接到内存中的 HSQLDB 数据库。我希望有一种方法可以在 JUnit 的 TestCase.setUp()
方法中清除和重新创建数据库(包括架构和所有数据的整个数据库)。
最佳答案
您可以配置您的 hibernate 配置文件以强制数据库每次都重新创建您的表和模式。
<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">create-drop</property>
hibernate.hbm2ddl.auto 在创建 SessionFactory 时自动验证或将模式 DDL 导出到数据库。使用 create-drop,当显式关闭 SessionFactory 时,将删除数据库模式。
例如验证 |更新 |创建 |创建下降
如果你不喜欢在你真正的 hibernate 配置中有这个配置,你可以创建一个 hibernate 配置用于单元测试目的。
关于java - 清除整个数据库(用于使用 Hibernate 进行单元测试),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3646661/