Spring的回滚机制:
Spring事务默认对非检查型异常(运行时异常)起作用;
spring事务默认对检查型异常(非运行时异常)不起作用;
但是我们可以指定对哪种类型异常起作用,使用 @Transactional 的 rollbackFor属性 指定要回滚的异常;
也可以使用 noRollbackFor属性 指定哪种异常不进行回滚;
为什么要使用事务的隔离机制?
为了解决:数据脏读、幻读和不可重复读;
Spring的隔离机制:
@Transactional(isolation = Isolation.DEFAULT)
ISOLATION_DEFAULT:Spring的默认隔离级别,默认使用数据库自身隔离级别;
READ_UNCOMMITTED:未提交读;
READ_COMMITTED:已提交读;(Oracle的默认)
REPEATABLE_READ:可重复读 (mysql的默认)
SERIALIZABLE:序列化;
为什么会出现事务的隔离机制? 解决数据脏读、幻读和不可重复读;
本文深入解析Spring框架中事务管理的核心机制,包括默认的回滚策略、如何通过配置指定异常回滚,以及Spring提供的隔离级别选项,如DEFAULT、READ_UNCOMMITTED、READ_COMMITTED、REPEATABLE_READ和SERIALIZABLE,来解决数据脏读、幻读和不可重复读的问题。
173万+

被折叠的 条评论
为什么被折叠?



