Java 在默认事务单元测试之后运行自定义事务单元测试时EntityNotFoundException

Java 在默认事务单元测试之后运行自定义事务单元测试时EntityNotFoundException,java,spring,hibernate,Java,Spring,Hibernate,我面临以下问题: 我使用customTransactional方法提供服务,当我添加了2个单元测试时 无事务-->默认情况下为@transactional 自定义事务 在第一个测试中,我通过crudepository#save()将一些内容保存到存储库中。 稍后在@中,在我清理存储库之前,在第二次测试中,我试图在那里保存一些东西 它引发了EntityNotFoundException 如果我加上 TestTransaction.flagForCommit(); TestTransaction.e

我面临以下问题:

我使用customTransactional方法提供服务,当我添加了2个单元测试时

  • 无事务-->默认情况下为@transactional
  • 自定义事务
  • 在第一个测试中,我通过crudepository#save()将一些内容保存到存储库中。 稍后在@中,在我清理存储库之前,在第二次测试中,我试图在那里保存一些东西

    它引发了EntityNotFoundException

    如果我加上

    TestTransaction.flagForCommit();
    TestTransaction.end();
    TestTransaction.start(); 
    
    在第二次测试开始时,它通过了

    这是我在照片上看到的 另一个区别是,我可以在稍后的堆栈调用选项中看到。isproxyallowed在失败时为false,在传递时为true

    有人能给我解释一下这里发生了什么事吗