【发布时间】:2019-03-04 08:44:29
【问题描述】:
我正在使用 Spring Batch 4.0,并且正在尝试测试我的批次。 我会将嵌入式数据库 h2 与 @JpaDataTest 一起使用,但它不起作用。 当我添加此注释时出现错误
java.lang.IllegalStateException:在 JobRepository 中检测到现有事务。请修复此问题并重试(例如,从客户端删除 @Transactional 注释)。
@Test 上的@Transaction(propagation=Propagation.NEW_REQUIRED) 不起作用。
我试图从@JpaDataTest 复制每个注释并删除@Transaction
@BootstrapWith(SpringBootTestContextBootstrapper.class)
@OverrideAutoConfiguration(enabled = false)
@AutoConfigureCache
@AutoConfigureDataJpa
@AutoConfigureTestDatabase
@AutoConfigureTestEntityManager
@ImportAutoConfiguration
但是当我这样做时,我失去了 EntityManager...
有人已经找到解决方案了吗?
【问题讨论】:
-
如果你用
@Transactional(propagation = NOT_SUPPORTED)注释你的@DataJpaTest(假设你的意思是不是@JpaDataTest)类会发生什么?
标签: spring spring-data-jpa spring-batch spring-test