zoukankan      html  css  js  c++  java
  • spring事务管理总结

    事务的特性:ACID

    Atomic:原子性

    Consistency:一致性

    Isolation:隔离性

    Durability:持久性

    -------------------------------------------------------

    几个相关概念:

    脏读:一个事务读到另一个事务未提交的数据。

    幻读:一个事务两次读取的数据个数不同(另一个事务添加了新的数据)。

    不可重复读:一个事务两次读取的数据内容不同(另一个事务修改了数据)。

    --------------------------------------------------------

    事务的隔离级别

    1. DEFAULT:默认隔离级别,使用底层数据库的默认隔离级别

    2.READ_UNCOMMITTED:读未提交,读到另外事务未提交的数据,如果别的事务出现回滚,则此事务会读到无效的数据,它会导致脏读、不可重复读、幻读。

    3.READ_COMMITTED:读已提交,可以避免脏读,但是无法避免不可重复读和幻读。

    4.REPEATABLE_READ:可重复读,此级别禁止一个事务去读一个包含未提交的修改的行,并且禁止一个事务读一行,另一个事务修改此行。可以避免脏读和不可重复读,但是不可避免幻读。

    5.SERIALIZABLE:此级别包含REPEATABLE_READ中禁止的内容,并且禁止一个事务读到满足where条件的数据后,另一个事务添加的数据满足第一个事务的查询条件。所以此级别可以避免脏读、幻读和不可重复读。

    -------------------------------------------------------

    事务的传播行为:

    1.REQUIRED:支持当前事务,如果当前不存在事务则新建事务。

    2.SUPPORTS:支持当前事务,如果当前不存在事务则以无事务的方式执行。

    3.MANDATORY:支持当前事务,如果当前不存在事务则抛出异常。

    4.REQUIRES_NEW:创建一个新的事务,如果当前存在事务则挂起当前事务。

    5.NOT_SUPPORTED:以非事务的方式执行,如果当前存在事务则挂起当前事务。

    6.NEVER:以非事务的方式执行,如果当前存在事务则抛出异常。

    7.NESTED:如果当前存在事务则在一个嵌套的事务中执行。

  • 相关阅读:
    【IoT平台北向API调用】使用Postman调用Https接口
    【LiteOS】LiteOS移植常见问题
    搞IT产品,请谨记Mobile First
    Modelarts与无感识别技术生态总结(浅出版)
    高性能Web动画和渲染原理系列(1)——CSS动画和JS动画
    使用蓝图构建Flask项目目录
    一统江湖的大前端(8)- velocity.js 运动的姿势(上)
    只需两步手把手教你玩转图像识别
    秉承初心,砥砺奋进!华为云助力锦江都城开启云服务时代
    HBase 索引创建
  • 原文地址:https://www.cnblogs.com/CLAYJJ/p/10074997.html
Copyright © 2011-2022 走看看