Hibernate的学习之路十四(事务)

来源:互联网 发布:微信看不到淘宝链接 编辑:程序博客网 时间:2024/06/08 17:19

前言

主要说明事务

分析

事务相关的概念

1. 什么是事务    * 事务就是逻辑上的一组操作,组成事务的各个执行单元,操作要么全都成功,要么全都失败.    * 转账的例子:冠希给美美转钱,扣钱,加钱。两个操作组成了一个事情!2. 事务的特性    * 原子性   -- 事务不可分割.    * 一致性   -- 事务执行的前后数据的完整性保持一致.    * 隔离性   -- 一个事务执行的过程中,不应该受到其他的事务的干扰.    * 持久性   -- 事务一旦提交,数据就永久保持到数据库中.3. 如果不考虑隔离性:引发一些读的问题    * 脏读            -- 一个事务读到了另一个事务未提交的数据.    * 不可重复读 -- 一个事务读到了另一个事务已经提交的update数据,导致多次查询结果不一致.    * 虚读            -- 一个事务读到了另一个事务已经提交的insert数据,导致多次查询结构不一致.4. 通过设置数据库的隔离级别来解决上述读的问题    * 未提交读:以上的读的问题都有可能发生.    * 已提交读:避免脏读,但是不可重复读,虚读都有可能发生.    * 可重复读:避免脏读,不可重复读.但是虚读是有可能发生.    * 串行化:以上读的情况都可以避免.5. 如果想在Hibernate的框架中来设置隔离级别,需要在hibernate.cfg.xml的配置文件中通过标签来配置    * 通过:hibernate.connection.isolation = 4 来配置    * 取值        * 1—Read uncommitted isolation        * 2—Read committed isolation        * 4—Repeatable read isolation        * 8—Serializable isolation

原创粉丝点击