transactionalMethod() {
Model model = service.fetch()
nestedTransactionalMethod(model) //REQUIRES_NEW transaction
}
在上面的代码片段中,nestedTransactionalMethod()会创建一个新会话吗?这意味着传递给它的模型被解除了吗?
这些假设是否正确?
答案 0 :(得分:0)
PROPAGATION_REQUIRES_NEW为每个受影响的事务范围使用独立事务。在这种情况下,底层物理事务是不同的,因此可以独立提交或回滚,外部事务不受内部事务的回滚状态的影响。 并且它不会创建新会话,而是使用当前会话来创建由传播范围定义的新事务。