版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/82862203
Spring 事务隔离级别是指 Spring 如何去处理每个事务之间的关联,可用于防止一些数据错误
更多精彩
- 更多技术博客,请移步 asing1elife’s blog
隔离级别
- TransactionDefinition.ISOLATION_DEFAULT [默认值]
- 表示使用底层数据库的默认隔离级别,通常为 TransactionDefinition.ISOLATION_READ_COMMITTED
- 数据库的隔离级别参见 MySQL 数据库隔离级别
- TransactionDefinition.ISOLATION_READ_UNCOMMITTED
- 表示一个事务可以读取到另一个事务修改但还未提交的数据
- 无法防止脏读、不可重复读、幻读
- 不推荐使用
- TransactionDefinition.ISOLATION_READ_COMMITTED
- 表示一个事务只能读取到另一个事务已经提交的数据
- 可防止脏读
- 推荐使用
- TransactionDefinition.ISOLATION_REPEATABLE_READ
- 表示一个事务在整个过程中可以多次重复执行某个查询,并且每次返回的记录都相同
- 可防止脏读、不可重复读
- TransactionDefinition.ISOLATION_SERIALIZABLE
- 表示所有事务一次逐个执行,事务之间完全不可能产生干扰
- 可防止脏读、不可重复读、幻读
- 过于严密的隔离级别会严重影响系统性能
- 不推荐使用