码迷,mamicode.com
首页 > Web开发 > 详细

Hibernate-事务理解

时间:2017-12-29 19:02:56      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:事务隔离   解决   isolation   访问   隔离级别   异常   atomic   问题   sql   

一.数据库事务的概念

  数据库事务是指由一个或者多个SQL语句组成的工作单元.这个工作单元中的SQL语句相互依赖,如果有一个Sql语句执行失败就必须撤销整个工作单元.

  在并发环境中,多个事务同时访问相同的数据资源时,可能会造成各种并发问题,可通过设定数据库的事务隔离级别来避免,还可用悲观锁和乐观锁来解决丢失更新这一并发问题.

二.数据库事务必须具备ACID特征

  Atomic 原子性:  整个事务不可分割,要么都成功,要么都撤销.

  Consistency一致性;  事务不能破坏关系数据的完整性和业务逻辑的一致性,例如:转账,应保证事务结束后两个账户的存款总额不变.

  Isolation 隔离性:  多个事务同时操纵相同的数据时,每个事务都有各自的完整数据空间.

  Durabiity持久性:  只要事务成功结束,对数据库的更新就必须永久保存下来,即使系统发生崩溃,重启数据库后,数据库还能恢复到事务成功结束是的状态.

三.事务的边界声明

 只要声明了一个事务,数据库系统就会自动保证事务的ACID特性

  声明事务的包含:

    事务的开始边界:

      事务的正常结束边界(commit):提交事务,永久保存

      事务的异常结束边界(rollback) :撤销事务,数据库回退到执行事务前的状态.

Hibernate-事务理解

标签:事务隔离   解决   isolation   访问   隔离级别   异常   atomic   问题   sql   

原文地址:https://www.cnblogs.com/1218-mzc/p/8145751.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!