数据库事务隔离级别

数据库事务:所谓事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全部不做,是一个不可分割的工作单位。

     对数据库的操作全都是以事务的方式进行!

事务的开始和结束可以由用户显示的进行控制,如果用户没有显示的定义事务,则由数据库管理系统按默认规定自动化分事务。

     事务的ACID特性:

    ①. 原子性(Acomicity):通俗的说就是该事务中包含的操作要么做,要么都不做。

    ②. 一致性(Consistency):事务执行的结果必须是由一个一致性状态变到另一个一致性状态。因此当数据库只包含成功事务提交        的结果时,就说数据库处于一致性状态。

    ③. 隔离性(Isolation):一个事务的执行不能被其他事务干扰。这就涉及到数据的个事务隔离级别。

            ④. 持久性()Durbility):也叫永久性,事务一旦成功提交,它对数据库的改变就是永久的。

    接下来我们看看事务的生命周期:

下来我们看看事务隔离级别:

数据库 事务的隔离级别有4个,由低到高依次为 Read uncommitted Read committed Repeatable read Serializable ,这四个级 别可以逐个解决 脏读 不可重复读 幻读 这几类问题。

   

       下面我们就来看一下hibernate配置隔离级别:在Hibernate的配置文件中可以显式的设置隔离级别。每一种隔离级别都对应一个整数: 

1:Read Uncommitted 

2:Read Committed 

4:Repeatable Read 

8:Serializable 

例如,以下代码把hibernate.cfg.xml文件中的隔离级别设为Read Committed: 

hibernate.connection.isolation=2 

对于从数据库连接池中获得的每个连接,Hibernate都会把它改为使用Read Committed隔离级别。 

   注:MySQL的默认隔离级别就是Repeatable read。





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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值