一、 ACID
1. 原子性:一系列的操作具有不可分割性,要么成功,要么失败
2. 一致性:操作的前后满足同样的规则,保持平衡。
3. 隔离性:在事务运行的过程中。事务内的数据对外的可见性 和可操作性(必需由数据库的支持)
4. 稳定性:保证数据在事务的操作的过程中不会遭到破坏,而 且是永久性存储的
二、 事务模型
1. 经典事务模型(JDBC) 事务不允许嵌套
2. 分布式事务 两阶段提交协议和稳定性
三、 事务的两种方式
1. 声明式
在配置文件中设置以下6项
(1).required
如果客户端没有事务 在bean中新起一个事务
如果客户端有事务bean 中就加进去
(2)、 requiresNew
不管客户端有没有事务服务器段都新起一个事务
如果客户端有事务就将事务挂起
(3)、supports
如果客户端没有事务服务端也没有事务
如果客户端有事务服务端就加一个事务
(4)、mandatcry
如果客户端没有事务服务端就会报错
如果客户端有事务服务端就加事务
(5)、notSupported
不管客户端有没有事务服务端都没有事务
如果客户端有事务服务端就挂起
(6)、never
不管客户端有没有事务服务端都没有事务
如果客户端有事务就报错
2. 编程式事务
Javax.transaction.UserTranscation
JTA 事务可以精确到事务的开始和结束