我可以在H2控制台中看到未提交的更改吗?

时间:2019-02-20 13:23:05

标签: java spring-boot testing h2 transactional

我正在使用H2数据库进行测试。当然,每次更改某些数据时,测试都会回滚。这就是为什么我看不到H2控制台内部的更改的原因。我可以以某种方式更改此设置,以便可以在H2控制台中看到临时更改吗?

示例:

  • 我有USERS表,我的data.sql脚本在其中创建了5个整数 它。
  • 我让我们运行带有@Transactional批注的测试,该测试将删除一个 用户。
  • 测试后,我在测试中有一个断点 删除。
  • 我到达了,登录到H2控制台,仍然看到5 条目。

我只想查看4个。测试完成后,应该再次设为5,这样才不会影响其他测试...我可以看到2种可能的方法:

  • 删除@Transactional批注并安装另一种重新排列数据的机制。在测试中进行一些实际的提交。
  • 以某种方式在H2控制台内部看到这些未提交的更改。我不知道是否有任何框架或其他可以帮助我的地方..?

1 个答案:

答案 0 :(得分:0)

您可以尝试设置隔离级别:

@Transactional(isolation = Isolation.READ_UNCOMMITTED)

请记住,隔离配置仅适用于Propagation.REQUIRES_NEW or REQUIRED

相关问题