Java Spring@Transactional服务。如果它调用另一个@Transactional服务会发生什么?
使用Spring,我将达到以下场景 我有一个服务必须是Java Spring@Transactional服务。如果它调用另一个@Transactional服务会发生什么?,java,spring,transactions,spring-transactions,Java,Spring,Transactions,Spring Transactions,使用Spring,我将达到以下场景 我有一个服务必须是@Transactional,因为它调用多个DAO。但它也调用其他已经是事务性的服务 不知何故,我将调用嵌套的@Transactional服务 Spring会管理好吗?@Transactional没有任何明确的参数,使用传播=必需的。这意味着: 如果当前线程中没有事务,将创建一个新事务 如果存在事务,则将使用它 用@Transactional注释的第二个服务(嵌套服务)将在与第一个服务(外部服务)相同的事务中执行。你不需要做任何事 在某些
@Transactional
,因为它调用多个DAO。但它也调用其他已经是事务性的服务
不知何故,我将调用嵌套的@Transactional
服务
Spring会管理好吗?
@Transactional
没有任何明确的参数,使用传播=必需的。这意味着:
- 如果当前线程中没有事务,将创建一个新事务
- 如果存在事务,则将使用它
用@Transactional
注释的第二个服务(嵌套服务)将在与第一个服务(外部服务)相同的事务中执行。你不需要做任何事
在某些情况下,如果要显式地将嵌套调用与外部调用分开,可以使用propagation=REQUIRES\u NEW
Spring将它们全部分组在同一事务下