Transaction 中文翻译为事务,是关于对数据库操作的处理单元,也是应用程序与数据库交互的重要中介,我们先看看事务的内容:
1,由一些操作数据的sql语句组成,当然这些语句里组成了应用程序尝试与数据库进行的一系列读写;
2,事务的由四个主要性质:Atomicity 要么事务单元里所有内容都执行,要么属于此单元里的任一内容都不执行,且保证数据状态恢复到事务开始前状态;Consistency 没有其它事务并发情况下,当前事务内容必须保持数据逻辑上的一致性; Isolation 允许事务并发,但必须保证事务 Ti 看来其它事务都是似在其之前执行完成或是在其执行之后开始执行,这样为了保存多事务情况下数据不会因为并发导致错误;Durability 一个事务成功完成后,即使系统出现故障,其对数据库的改变也是永久的,这种情况下要,如果想撤消已完成执行的事务对数据库的影响,只能通过补偿事务来处理;
为什么事务并发过程中如果序列协调不好会出错:
另一事务在某一事务执行过程中,访问没有加控制的数据就总是会出现事务并发产生的数据不一致;
结合hibernate看事务:
1, Transaction allow you to set the boundaries of a unit of work: an atomic group of operations. They also help you isolate one unit of work from another unit of work in a multiuser application;
Hibernate 管理事务,就放在Hinbernate Session里面,可以这样理解,一个session对应到一个或多个事务的,通过设置Session的清除方式,可以事务特性保证,会话实现,缓存之间的平衡,当然,这些都必须根据应用程序与数据库交互的概率分布进行设计