【问题标题】:Can I see uncommited changes in the H2 console?我可以在 H2 控制台中看到未提交的更改吗?
【发布时间】:2019-02-20 13:23:04
【问题描述】:

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

例子:

  • 我有表 USERS 和我的 data.sql 脚本在 它。
  • 我让运行带有@Transactional 注释的测试,删除一个 的用户。
  • 我在测试中有一个断点,在 删除。
  • 我到达它,登录到 H2 控制台,仍然看到 5 条目。

我只想看4个。测试完成后,应该又是5个,这样不会影响其他测试...我可以看到2种可能的方式:

  • 删除@Transactional 注释并安装另一种重新排列数据的机制。在测试中做一些真正的提交。
  • 不知何故在 H2 控制台中看到了这些未提交的更改。我不知道这里是否有任何框架或什么可以帮助我..?

【问题讨论】:

    标签: java spring-boot testing h2 transactional


    【解决方案1】:

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

    @Transactional(isolation = Isolation.READ_UNCOMMITTED)
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-18
      • 2019-01-04
      • 2014-07-29
      • 1970-01-01
      相关资源
      最近更新 更多