当前位置:   article > 正文

关于@Transactional注解_@transactional(value =

@transactional(value =

1.,MySQL的引擎中只有InnoDB支持事务,而MyISAM引擎不支持事务,更不支持XA协议。
2. @Transactional(value = “tradeTransactionManager”, propagation = Propagation.REQUIRED, noRollbackFor = {NotRollbackException.class}, rollbackFor = {Exception.class})
注:rollbackFor属性是指出现什么异常时发生回滚,默认是发生仅对RuntimeException和 Error发生回滚,noRollbackFor 是指发生指定的异常时不发生回滚,一般会用来指定自己写的异常类
3.propagation事务的传播行为:
什么是Spring事务的传播行为:

所谓事务的传播行为是指,如果在开始当前事务之前,一个事务上下文已经存在,此时有若干选项可以指定一个事务性方法的执行行为。在TransactionDefinition定义中包括了如下几个表示传播行为的常量:

TransactionDefinition.PROPAGATION_REQUIRED:如果当前存在事务,则加入该事务;如果当前没有事务,则创建一个新的事务。这是默认值。
TransactionDefinition.PROPAGATION_REQUIRES_NEW:创建一个新的事务,如果当前存在事务,则把当前事务挂起。
TransactionDefinition.PROPAGATION_SUPPORTS:如果当前存在事务,则加入该事务;如果当前没有事务,则以非事务的方式继续运行。
TransactionDefinition.PROPAGATION_NOT_SUPPORTED:以非事务方式运行,如果当前存在事务,则把当前事务挂起。
TransactionDefinition.PROPAGATION_NEVER:以非事务方式运行,如果当前存在事务,则抛出异常。
TransactionDefinition.PROPAGATION_MANDATORY:如果当前存在事务,则加入该事务;如果当前没有事务,则抛出异常。
TransactionDefinition.PROPAGATION_NESTED:如果当前存在事务,则创建一个事务作为当前事务的嵌套事务来运行;如果当前没有事务,则该取值等价于TransactionDefinition.PROPAGATION_REQUIRED。
举个例子
在这里插入图片描述
4.@Transactional注解的方法必须是公共方法或者public类,就是必须是public修饰符!!!

5.value 是指定事务管理器

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/225510
推荐阅读
相关标签
  

闽ICP备14008679号