Java 事务处理总结
一、什么是 Java 事务
通常的观念认为,事务仅与数据库相关。
事 务 必 须 服 从 ISO/IEC 所 制 定 的 ACID 原 则 。 ACID 是 原 子 性
(atomicity)、一致性( consistency)、隔离性( isolation)和持
久性(durability)的缩写。事务的原子性表示事务执行过程中的任
何失败都将导致事务所做的任何修改失效。一致性表示当事务执行
失败时,所有被该事务影响的数据都应该恢复到事务执行前的状态。
隔离性表示在事务执行过程中对数据的修改,在事务提交之前对其
他事务不可见。持久性表示已提交的数据在事务执行失败时,数据
的状态都应该正确。
通俗的理解,事务是一组原子操作单元,从数据库角度说,就是
一组 SQL 指令,要么全部执行成功,若因为某个原因其中一条指令
执行有错误,则撤销先前执行过的所有指令。更简答的说就是:要
么全部执行成功,要么撤销不执行。
既然事务的概念从数据库而来,那 Java 事务是什么?之间有什么联
系?
实际上,一个 Java 应用系统,如果要操作数据库,则通过 JDBC
来实现的。增加、修改、删除都是通过相应方法间接来实现的,事
务的控制也相应转移到 Java 程序代码中。因此,数据库操作的事务
习惯上就称为 Java 事务。
二、为什么需要事务