首页 > 编程知识 正文

spring什么是事务,事务的传播机制有几种

时间:2023-05-03 23:25:13 阅读:161884 作者:3979

事务传播机制:用于解决业务层的事务间调用问题,而不是“JDBC事务管理”。 PROPAGATION_REQUIRED :支持(使用)当前事务,如果不存在事务就创建一个新事务

*在方法a中调用方法b :如果方法a具有事务,则b方法使用方法a的事务。 如果a没有事务,请创建新事务。A,b在同一事务中)

PROPAGATION_SUPPORTS :支持(使用)当前事务,如果不存在事务就不使用事务

PROPAGATION_MANDATORY :支持(使用)当前事务,如果不存在就抛出异常

PROPAGATION_REQUIRES_NEW :如果有事务存在,则挂起当前事务,创建一个新事务。(不在同一事务)

PROPAGATION_NOT_SUPPORTED :已非事务的方式运行,如果有事务存在,则挂起当前事务。

PROPAGATION_NEVER :已非事务的方式运行,如果有事务存在,则抛出异常。

PROPAGATION_NESTED : 如果当前事务存在,则嵌套事务执行

33558 www.Sina.com/*基于保存点技术

*方法A.B: A中有事务,a执行后,将a事务执行后的内容保存在savePoint中,如果b事务出现异常,用户需要自己设置是提交还是回退事务

常用的:

PROPAGATION_REQUIRED

PROPAGATION_REQUIRES_NEW

挂起事务的示例()在事务被挂起之后,没有任何操作受该事务的控制)。例如,方法a支持事务,而方法b不支持事务即 PROPAGATION_NESTED

方法a调用方法b。

方法a开始执行时,系统为其建立Transaction,方法a中对数据库的处理操作在其Transaction的控制下。

此时,方法a调用方法b,方法a打开的Transaction挂起,方法b的任何数据库操作都不在其Transaction的管理下。

当方法b返回时,方法a继续执行,以前的Transaction会做出响应,后续的数据库操作在此Transaction的控制下继续提交或回退。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。