事务定义
是一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作(程序执行)单元。事务由事务开始与事务结束之间执行的全部数据库操作组成。
事务特性
- 原子性(Atomicity)
- 一致性(Consistency)
- 隔离性(Isolation)
- 持久性(Durability)
在事务处理的ACID属性中,一致性是最基本的属性,其它的三个属性都为了保证一致性而存在的。
一致性是我们使用事务的目的,需要通过应用程序来保证一致性,即保证数据库的正确且完整。
隔离级别
- 读未提交Read uncommitted,
- 读已提交Read committed
- 可重复读Repeatable read
- 串行化Serializable
事务的传播行为
Propagation.REQUIRED
Propagation.SUPPORTS
Propagation.MANDATORY
Propagation.REQUIRES_NEW
Propagation.NOT_SUPPORTED
Propagation.NEVER
Propagation.NESTED
不同的传播行为的区别,最好还是自己动手试试吧
@Transactional(propagation = Propagation.REQUIRED)
public int updBo(Bo bo) {
// ...
}