Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将SpringBoot从2.3.9升级到2.4.3会破坏我使用软删除(带@Where)的测试_Spring_Spring Boot_Testing_Spring Data Jpa - Fatal编程技术网

将SpringBoot从2.3.9升级到2.4.3会破坏我使用软删除(带@Where)的测试

将SpringBoot从2.3.9升级到2.4.3会破坏我使用软删除(带@Where)的测试,spring,spring-boot,testing,spring-data-jpa,Spring,Spring Boot,Testing,Spring Data Jpa,我已经在我的项目上升级了SpringBoot(2.3.9到2.4.3),但是我的测试失败了(2000年第8次)。 这些测试几乎都与软删除有关,例如: var myobjectDatabase = getAMyobjectDatabase(); myobjectDatabaseRepository.save(myobjectDatabase); // When myobjectDatabaseRepository.softDelete(myobjectDatabase); v

我已经在我的项目上升级了SpringBoot(2.3.9到2.4.3),但是我的测试失败了(2000年第8次)。 这些测试几乎都与软删除有关,例如:

  var myobjectDatabase = getAMyobjectDatabase();
  myobjectDatabaseRepository.save(myobjectDatabase);

  // When
  myobjectDatabaseRepository.softDelete(myobjectDatabase);
  var myobjectRetrieved = myobjectDatabaseRepository.getById(myobject.getId());

  // Then
  assertThat(myobjectRetrieved).isNull(); // ERROR
所以我进行了调查,如果我在
softDelete
getById
之间添加
entityManager.clear()!
如果我添加
@Transactional(propagation=propagation.NOT_SUPPORTED)
,情况也一样

但我不喜欢这些“快速修复”。我读过变更日志,但没有读过

谁能帮我或改变我的想法


谢谢

我很惊讶它一开始就奏效了。发生这种情况的原因是第一级缓存,并且在这两者之间没有执行
刷新
清除
,以模拟事务结束。我能想象的唯一变化是,您的测试现在是事务性的,而不是最初的测试。您好@M.Deinum,首先,感谢您的快速响应!您知道为什么它没有出现在变更日志或迁移中吗?(也许我错过了)正如你所说,我检查了测试的日志,结果发现测试现在是事务性的。