Spring事物

Spring对ORM的支持,先来了解下,表现在一下方面:
一致的异常体系结构,对第三方ORM框架抛出的专有异常进行包装,从而使我们在Spring中只看到DataAccessException异常体系;
一致的DAO抽象支持:提供类似JdbcSupport的DAO支持类HibernateDaoSupport,使用HibernateTemplate模板类来简化常用操作,HibernateTemplate提供回调接口来支持复杂操作;
Spring事物管理:Spring对所有数据访问提供一致的事务管理,用过配置方式,简化事务管理。
Spring还在测试、数据源管理方面提供支持,从而允许方便测试,简化数据源使用。


什么叫事物:
事物首先是一系列操作组成的工作单元,具有不可分割性。用个例子来加深理解,煮饭是一个工作单元,围绕着煮饭我们需要淘米,接上电源.....等操作需要做。所以可以这样来解释,事物就是对于这个事物要么所有操作都做,要么所有操作都不做。


事物必须满足的特性:ACID(Atomicity原子性、Consistency一致性、Isolation隔离性、Durability持久性)
Atomicity:不可分割
Consistency:事物执行前和执行后都处于正常状态
Isolation:对其他事物不产生任何影响,需要事物各立级别来指定隔离性
Durability:事物一旦执行成功,那么数据库的数据改变将是永久的。


隔离级别,四种:
未提交读(Read Uncommitted),提交读(Read Committed),可重复读(Repeatable)可重复读,序列化(Serializable)最高级别。
隔离级别越高,数据库事物并发执行性能越差,能处理的操作越少。因此一般采用提交读。能避免丢失更新和脏读,对于不可重复读和幻读可以采用悲观锁或乐观锁进行解决。


数据库管理事物包括:本地事物和分布式事物。

你可能感兴趣的:(Spring事物)