代码之家  ›  专栏  ›  技术社区  ›  Whimusical

嵌套事务(而不是并发事务)的默认隔离级别是多少?

  •  5
  • Whimusical  · 技术社区  · 7 年前

    Spring有3种典型的嵌套事务传播: REQUIRED , NEW NESTED . 隔离级别类型总是根据并发事务来描述。但嵌套的情况呢?从内到外和从外到外的默认可见性是什么?设置隔离级别对这两者有何影响?

    编辑:我指的不是实际的sql查询,而是持久性上下文。我的意思是,如果我创建了一个资源并在嵌套事务模型的另一部分中读取它,那么无论它是否实际被持久化,我都会看到它的更改吗?一个很好的例子是执行使用存储库.save, 存储库.find... 等

    1 回复  |  直到 7 年前
        1
  •  2
  •   Aleksandr Semyannikov    7 年前

    内部事务和外部事务之间没有隔离。它存在的唯一原因是保存点。这件事只允许您回滚内部事务,而不回滚外部事务。 Documentation 说:

    这样的部分回滚让 内部事务作用域触发其作用域的回滚,其中 外部事务能够继续物理事务 通常映射到JDBC保存点,因此它只适用于JDBC DataSourceTransactionManager .

    升级版: find :

    事务隔离级别。仅适用于传播设置 REQUIRED REQUIRES_NEW

    推荐文章