zoukankan      html  css  js  c++  java
  • 事务的传播性和隔离级别

    事务的传播性:
    1、PROPOGATION_REQUIRES            --需要在一个事务中执行
    2、PROPOGATION_SUPPOTS             --不需要在一个事务中执行,如果有事务,也可以执行
    3   PROPOGATION_NOT_SUPPORTED --不支持在一个事务中执行,如果在一个正在运行的事务中执行,则会被挂起

    5   PROPOGATION_NEVER                  --必须不在一个正在运行的事务中执行,则会抛出异常
    6   PROPOGATION_MANDATORY        --必须在一个正在运行的事务中执行,否则抛出异常
    7   PROPOGATION_NEW                      --如果有一个事务正在执行,则挂起该事务,重开一个事务

    4   PROPOGATION_NESTED                --如果有一个事务a正在进行中,该事务被嵌套在a中

    事务的隔离级别:

    1、ISOLATION_DEFAULT  默认,3 ,也就是可重复读

    2、ISOLATION_READ_UNCOMMITED  ,读未提交,会引起不可重复读、脏读、幻读

    3、ISOLATION_READ_COMMITED,读已提交,避免脏读,但仍然会有不可重复读、幻读

    4、ISOLATION_READ_REPEATED,可重复读,避免脏读、不可重复读,仍然有幻读

    5、ISOLATION_SEARILIZE ,序列化

    脏读:读取了未提交的数据a,然后a在事务中回滚了

    不可重复读:读取一个数据,前后不一致,这个是因为其他事务修改了该数据

    幻读:用一条sql,查询数据,第二次查询到的数据的数量和第一次查询到的数量不同

    mysql 的默认的隔离级别是:可重复读

    oracle、sqlserver 的默认隔离级别是:读已提交

  • 相关阅读:
    开源协议介绍
    Guice vs Dependency Injection By Hand
    Eclipse与MyEclipse的联系和区别
    Java Basic
    解决Windows Vista 英文版中文软件乱码
    [转]Java B/S开发模式漫谈
    什么是Groovy
    JBoss, Geronimo, Tomcat
    一个让你迅速理解Javabean的实例
    keepalive 原理讲解 salami
  • 原文地址:https://www.cnblogs.com/drafire/p/10661395.html
Copyright © 2011-2022 走看看