为什么@Transactional(Propagation.NOT_SUPPORTED)没有按预期工作?

时间:2015-06-24 15:47:53

标签: java spring jpa transactions spring-transactions

鉴于以下内容:

  1. 在课程级别使用@Transactional(Propagation.REQUIRED)开始集成测试。
  2. 插入一些参考数据,并在方法级别指定Propagation.NOT_SUPPORTED
  3. 标记为@Transactional(Propagation.REQUIRED)的服务方法会尝试查找在步骤2中插入的某些参考数据。
  4. 服务方法无法查看参考数据!

    我的理解是,如果数据被插入到事务之外,它将立即被另一个方法访问,无论它是在事务内部还是外部。谁能解释一下?

1 个答案:

答案 0 :(得分:0)

不是一个完整的答案,但我认为这些问题部分是由在一个总体交易中运行集成测试引起的 - this article解释了为什么这是一个坏主意。我将尝试将所有数据填充重写为非事务性的,并在每次测试结束时手动清除。

相关问题