如何在H2数据库的单元测试之间重新运行hbm2ddl?

时间:2019-01-23 12:06:21

标签: java junit h2 hbm2ddl

在生产中,我们使用SQL脚本(Postgres)生成/更新架构。在单元测试中,我使用configProperties.put("hibernate.hbm2ddl.auto", "create-drop");来为我的H2数据库创建模式。

为了更好地隔离单元测试,我想在两次测试之间删除并重新创建数据库。我可以使用entityManager.createNativeQuery("DROP ALL OBJECTS").executeUpdate();擦除H2数据库,但是如何进入休眠状态以重新创建模式?

还是有一种简单的方法来简单地关闭H2并创建一个新实例?我可以使用"jdbc:h2:mem:"+UUID.randomUUID()+";MODE=DB2;"作为连接字符串来创建多个实例,但是我不确定如何关闭/销毁/清理以前的实例。

0 个答案:

没有答案