java面试题Spring支持的常用事务传播属性和事务传播级别

Posted weiikun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java面试题Spring支持的常用事务传播属性和事务传播级别相关的知识,希望对你有一定的参考价值。

事务的属性

    1   propagation用来设置事务的传播行为

                     事务的传播行为:一个方法运行在了一个开启事务的方法中,当前方法是使用依附的方                      法事务还是使用自身的事务

             Propagation.REQUIRED默认值 使用其依附的别人方法的事务

             Propagation.REQUIRES_NEW 将原来的事务挂起  开启一个新的事务(即执行自身的事务)

使用方法   在需要使用事务的方法上加注解   @Transactional 什么都不加默认为Propagation.REQUIRED

若想开启新事务执行自己的事务则可以在方法上加@Transactional(propagation=Propagation.REQUIRES_NEW)

 

2   isolation用来设置事务的隔离级别

     Oracle支持的事务隔离级别为   (默认读已提交read committed    串行化 serializable 

  •    mysql支持所有的事务隔离级别  读未提交  read uncommitted    
  •                                                      读已提交 read commited
  •                                                      (默认)可重复读 repeatable  read
  •                                                      串行化 serializable            

 同传播行为一样 也是在注解@Transaction()中添加 (isolation=Isolation.DEFAULT) 

例  : 购买图书时Mysql数据库默认是可重复读事务隔离级别  则当数据库中书价格变的时候查出的价格仍然是变动之前的

以上是关于java面试题Spring支持的常用事务传播属性和事务传播级别的主要内容,如果未能解决你的问题,请参考以下文章

Spring支持的常用数据库事务传播属性和隔离级别

Java高级开发面试题

大厂问你spring事务的面试题,你能多少?

面试被问Spring事务传播属性,绝对不能说不懂

Spring事务传播属性和隔离级别

Spring事务传播属性和隔离级别