Hibernate事务
一. 数据库事务概念
a) 数据库事物是指单个逻辑工作单元执行的一系列操作,要么全部执行,要么全部不执行,保证单元内的所有操作都成功完成。逻辑单元要成为事物必须满足原子性,一致性,隔离性,持久性。
i. 原子性:对于其数据修改要么全部执行要么全部不执行,事物操作具有共同的目标,并且是相互依赖的,,如果只操作一个子集可能破坏总体目标
ii. 一致性:从一个一致的状态经过一系列操作后转换到另外一个一致的状态
iii. 隔离性:并发环境下事物的修改必须与其他数据的修改隔离,要么只能看到修改前的状态要么只能看到修改后的状态,不会查看到中间状态
iv. 持久性:由于性能的原因数据修改后不会立即写到磁盘中,当写入过程中缓存数据丢失,数据库启动后根据日志进行前滚。
二. 数据库事务边界
a) 开始边界
b) 结束边界
i. 提交
ii. 回滚
c) 数据库支持的边界
i. 自动提交模式:每个sql都是一个独立的事物,sql执行完自动提交事物
ii. 手动提