发布网友 发布时间:2022-04-09 04:50
共3个回答
热心网友 时间:2022-04-09 06:19
在计算机学涉及到‘事务’这个词通常就是指数据库事务?热心网友 时间:2022-04-09 07:37
数据库事务的4个特性: 一致性(consistency):事务操作之后,数据库所处的状态和业务规则是一致的;比如a,b账户相互转账之后,总金额不变; 隔离性(isolation):操作中的事务不相互影响; 持久性(rability):事务提交后被持久化到数据库. 数据并发产生的问题: 脏读:一个事物a读到了另一个事务b未提交的数据,则b回滚后,a读取的数据无效; 不可重复读:一个事物a第二次读到了另一个事务b修改的数据; 幻读:在统计数据的事务a两次统计的数据不一致(因为有其他事务新增数据) 第一类丢失更新:a事务回滚覆盖了b事务提交的数据; 第二类丢失更新:a事务覆盖了b事务提交的数据. 事物隔离级别: READ_UNCOMMITED, READ_COMMITED, REPEATABLE_READ, SERIALIZABLE; 一般情况下READ_COMMITED足够了. spring事务管理相关的接口: TransactionDefinition:代表一个事物。热心网友 时间:2022-04-09 09:12
本质上其实是同一个概念,spring的事务是对数据库的事务的封装,最后本质的实现还是在数据库,假如数据库不支持事务的话,spring的事务是没有作用的.数据库的事务说简单就只有开启,回滚和关闭,spring对数据库事务的包装,原理就是拿一个数据连接,根据spring的事务配置,操作这个数据连接对数据库进行事务开启,回滚或关闭操作.但是spring除了实现这些,还配合spring的传播行为对事务进行了更广泛的管理.其实这里还有个重要的点,那就是事务中涉及的隔离级别,以及spring如何对数据库的隔离级别进行封装.事务与隔离级别放在一起理解会更好些.以上回答希望能帮助到你.