第16章Hibernate事务处理和缓存管理Hibernate提供了进行数据库事务处理、并发事务控制、缓存管理的方法
事务处理和缓存管理对于高效率地使用数据库是非常重要的
通过本章的学习,读者可以了解事务、并发事务的概念,以及如何使用Hibernate管理事务,如何管理Hibernate的缓存,从而在实际开发中很好地优化Hibernate的性能
1Hibernate的事务处理数据库事务是一个或者多个SQL语句组成的工作单元
如果有一个SQL语句执行失败,就必须撤销整个工作单元
在并发环境中,多个事务同时访问相同的数据资源,这样就可能造成各种并发问题
这时可以通过设置数据库系统的事务隔离级别来避免各种并发问题
此外,在应用悲观锁来解决数据丢失这一并发问题
对于事务处理,Hibernate有自己进行事务处理的方法,本节通过实例来进行讲解
1什么是数据库事务下面介绍数据库事务的概念,以及它的特征
1.事务的概念事务是数据库操作中一个最小的执行单元,它由一组相互依赖的操作行为组成
例如,由查询和更新两个操作行为构成一个事务
事务的成功与否取决于这些操作行为是否都能执行成功
只要有一个操作行为执行失败,那么整个事务执行失败
这时必须回滚到事务执行前的状态
2.事务的特性数据库事务必须具有ACID特征,ACID是Atomic(原子性)、Consistency(一致性)、Isolation(隔离性)和Durability(持久性)的英文缩写
下面解释这4个概念
原子性:是指整个数据库事务是一个不可分割的工作单元
一致性:是指事务不能破坏关系数据的完整性和业务逻辑上的一致性
隔离性:事务的隔离性要求事务访问的任何数据不会受到其他事务所做的任何改变的影响,直到该事务完成
持久性:是指只要事务成功结束,它对数据库所做的操作必须永久保存下来
即使系统发生崩溃,重