介绍transactiondefinition
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
介绍transactiondefinition
TransactionDefinition是Spring 框架中的一个类,用于定义事务的属性,如事
务传播行为、事务隔离级别和事务超时时间等。
1.传播行为(Propagation Behavior):
o PROPAGATION_REQUIRED: 如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。
这是最常见的选择。
o PROPAGATION_SUPPORTS: 支持当前事务,如果当前没有事务,就以非事务的方式继续运行。
o PROPAGATION_MANDATORY: 使用当前的事务,如果当前没有事务,就抛出异常。
o PROPAGATION_REQUIRES_NEW: 总是新建一个事务,如果当前存在事务,挂起当前的事务。
o PROPAGATION_NOT_SUPPORTED: 运行非事务方式,如果当前存在事务,挂起当前的事务。
o PROPAGATION_NEVER: 总是非事务的,如果当前存在事务,就抛出异常。
2.隔离级别(Isolation Level):
o ISOLATION_DEFAULT: 使用底层数据库的默认隔离级别。
o ISOLATION_READ_UNCOMMITTED: 读未提交。
o ISOLATION_READ_COMMITTED: 读已提交。
o ISOLATION_REPEATABLE_READ: 可重复读。
o ISOLATION_SERIALIZABLE: 串行化。
这是最高的隔离级别。
3.超时时间(Timeout):这是事务允许的最长运行时间。
超过这个时间,事务会被
回滚。
4.其他属性:还有其他一些属性,如只读设置、回滚规则等。
通过TransactionDefinition,你可以在Spring 配置中或通过注解来定义事务的行为,确保数据的完整性和一致性。