在嵌套REQUIRES_NEW事务时,hibernate会创建新会话吗?

时间:2016-04-03 17:43:13

标签: hibernate spring-transactions

transactionalMethod() {
   Model model = service.fetch()
   nestedTransactionalMethod(model) //REQUIRES_NEW transaction
}

在上面的代码片段中,nestedTransactionalMethod()会创建一个新会话吗?这意味着传递给它的模型被解除了吗?

这些假设是否正确?

1 个答案:

答案 0 :(得分:0)

PROPAGATION_REQUIRES_NEW为每个受影响的事务范围使用独立事务。在这种情况下,底层物理事务是不同的,因此可以独立提交或回滚,外部事务不受内部事务的回滚状态的影响。 并且它不会创建新会话,而是使用当前会话来创建由传播范围定义的新事务。