tre*_*eno 6 junit spring jpa spring-transactions
我想测试一种通过在循环中调用 DAO 将数据插入表的服务方法。服务方法被注释为
@Transactional(propagation = Propagation.REQUIRES_NEW)
Run Code Online (Sandbox Code Playgroud)
单元测试调用服务方法并用
@Transactional
Run Code Online (Sandbox Code Playgroud)
现在我想告诉事务,它始终应该在最后进行回滚。我不想在测试运行后手动清理数据库。
@Rollback 和 EntityManager.getTransaction().setRollbackOnly() 不起作用。我认为原因是注释和 setRollbackOnly() 仅应用于由测试方法创建的事务,而不应用于由服务方法创建的事务。
有谁知道如何解决这个问题?