Van*_*hah 3 java spring hibernate transactions spring-boot
我是学习 Spring Boot 的新手。我想知道 @Transactional 注释的传播属性中 REQUIRES_NEW 的实际用例是什么。
我知道,如果新事务的请求到达,它会暂停正在进行的事务,然后在完成新请求的事务后恢复。
Les*_*iak 6
我认为理解交易陷阱文章很好地解释了这一点:
仅当正在调用的方法中的数据库操作需要保存到数据库时(无论覆盖事务的结果如何),才应使用 REQUIRES_NEW 事务属性。例如,假设尝试的每笔股票交易都必须记录在审计数据库中。无论交易是否因验证错误、资金不足或其他原因而失败,都需要保留此信息。如果您没有在审核方法上使用 REQUIRES_NEW 属性,审核记录将与尝试的交易一起回滚。使用 REQUIRES_NEW 属性可以保证无论初始事务的结果如何,都会保存审计数据。
归档时间:
5 年,11 月 前
查看次数:
1411 次
最近记录: