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数据库默认是可重复读事务隔离级别  则当数据库中书价格变的时候查出的价格仍然是变动之前的

转载于:https://www.cnblogs.com/weiikun/p/10987608.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值