事务隔离机制(hibernate 应用)

原创 2011年01月07日 21:48:00

1.事务的特性:

acidatomic原子性不用多说 consistent一致性就是系统的数据不会遭到破坏 isolated隔离性防止同时读取同一条记录 durable持久性保存在db或其它形式的持久设备中

隔离级别的几个重要概念

  
脏读:事务 A 事务B   A对一条记录修改但未提交,B此时读取此条记录,之后Acommit失败

  
不可重复读:事务 A 事务B  A里面执行两次或以上的查询,查询的结果不对,在中间B对此记录改变了

  
幻读:当读取几条记录后,另外一个事务插入了一条记录,此后的查询会出现原来没有的额外记录

为防止以上的情况,可以采用不同的隔离级别

  2.事务并发时可能出现的问题:

    1.第一类丢失更新(Lost Update

时间

事务A

事务B

T1

开始事务

 

T2

 

开始事务

T3

查询账户余额1000

 

T4

 

查询账户余额1000

T5

 

汇入100元把余额更新1100

T6

 

提交事务

T7

取出100把余额改成900

 

T8

撤销更新

 

T9

余额为1000(丢失更新)

 

 

 

 

2.脏读(dirty read读了一个没有提交的事务的数据

 

时间

事务A

事务B

T1

开始事务

 

T2

 

开始事务

T3

 

查询账户余额1000

T4

 

汇入100元把余额更新1100

T5

查询账户余额1000(脏读)

 

T6

 

回滚

T7

取款1100

 

T8

提交事务失败

 

3.不可重复读(non-repeatable read),同一个事务前后数据不一致,被其它事务所影响

时间

事务A

事务B

T1

开始事务

 

T2

 

开始事务

T3

查询账户余额1000

 

T4

 

汇入100元把余额更新1100

T5

 

提交事务

T6

查询账户余额1100

 

T7

取款1100

 

T8

提交事务

 

4.第二类丢失更新(second lost update proplem

时间

转账事务A

取款事务B

T1

 

开始事务

T2

开始事务

 

T3

 

查询账户余额1000

T4

查询账户余额1000

 

T5

 

取出100元把余额更新900

T6

 

提交事务

T7

存入100

 

T8

提交事务

 

T9

把余额为1100(丢失更新)

 

 

5.幻读(phantom read),插入和更新

时间

查询事务A

插入事务B

T1

开始事务

 

T2

 

开始事务

T3

查询学生人数为10

 

T4

 

插入一个新学生

T5

 

 

T6

查询学生人数为11

提交事务

T7

 

 

T8

提交事务

 

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

事务隔离机制(hibernate 应用)

http://blog.csdn.net/centre10/article/details/6123542 1.事务的特性: acid:atomic原子性不用多说 consistent...

数据库事务隔离机制以及hibernate悲观锁和乐观锁

脏读dirty   reads:当事务读取还未被提交的数据时,就会发生这种事件。举例来说:Transaction   1   修改了一行数据,然后   Transaction   2   在   Tr...

关于hibernate一级,二级缓存以及事务隔离机制。

1、Hibernate的一级缓存 在Hibernate框架内部应用缓存提高应用系统的运行性能,Hibernate中的缓存分为为一级和二级缓存。 Hibernate 的一级缓存是内置缓存,不能通过...

Hibernate优化(五) 之事务隔离机制(悲观锁、乐观锁)

事务的4大特性(ACID): 原子性(Atomicity):事务是数据库的逻辑工作单位,它对数据库的修改要么全部执行,要么全部不执行。一致性(Consistemcy):事务前后,数据库的状态都满足所...

事务隔离机制以及hibernate悲观锁和乐观锁

脏读dirty   reads:当事务读取还未被提交的数据时,就会发生这种事件。 不可重复的读non-repeatable   reads:当事务两次读取同一行数据,但每次得到的数据都不一样时,就会发...

事务隔离机制 && Hibernate悲观锁、乐观锁

背景:        不管是在哪里,事务的并发性都是一个问题,所以专门存在一种事务隔离机制去解决这种事务并发所造成的问题。 一、什么是事务隔离级别:        事务隔离级别是一个失误...

Hibernate事务隔离机制(乐观锁-悲观锁)

Hibernate事务隔离机制——乐观锁、悲观锁

事务并发访问及隔离机制

  • 2010年12月05日 11:49
  • 63KB
  • 下载

讲述从事务隔离级别谈到Hibernate乐观锁,悲观锁

先提一下基础知识,数据库事务的4个基本特性:   1.Atomic(原子性)   事务中包含的操作被看成一个逻辑单元,这个单元要么全部完成,要么全部没做。   2.Consistency(一致性...

Hibernate Mysql事务与隔离级别

转自:http://blog.csdn.net/csh624366188/article/details/7627693 hibernate多个事务并发的并发问题: •第一类丢...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:事务隔离机制(hibernate 应用)
举报原因:
原因补充:

(最多只允许输入30个字)