@Transactional(propagation = Propagation.REQUIRES_NEW) 被称为。
@Transactional(propagation = Propagation.REQUIRES_NEW)
@Test @Transactional @Sql(scripts = { "/sql/insert_some_records.sql" }, executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD)
有了这个配置,我有了一个奇怪的行为,当我试图调试时,我发现我试图测试的服务bean类方法找不到我在 @Sql myRepo.findAll() 在方法内部获取空列表。
@Sql
myRepo.findAll()
在更改了 致:
@Transactional(propagation = Propagation.NEVER)
或:
@Transactional(propagation = Propagation.SUPPORTS)
服务类中的方法可以正确地从数据库中找到所有记录,但缺点是我必须在测试之后通过脚本手动删除这些插入的记录。