事务的隔离级别和传播属性

七个事务传播属性

PROPAGATION_REQUIRED 支持当前事务,如果当前没有事务,就新建一个事务

PROPAGATION_SUPPORTS 支持当前事务,如果当前没有事务,就以非事务方式执行。

PROPAGATION_MANDATORY 支持当前事务,如果当前没有事务,就抛出异常。

PROPAGATION_REQUIRES_NEW 新建事务,如果当前存在事务,就把当前事务挂起。

PROPAGATION_NOT_SUPPORTED 以非事务方式执行操作,如果当前存在事务,就把事务挂起。

PROPAGATION_NEVER 以非事务方式执行,如果当前存在事务,则抛出异常。

PROPAGATION_NESTED 如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则与PROPAGATION_REQUIRED类似的操作。

五种隔离级别

隔离级别是指若干个并发的事务之间的隔离程度
ISOLATION_DEFAULT这是一个PlatformTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别

ISOLATION_READ_UNCOMMITTED 事务最低的隔离级别

ISOLATION_READ_COMMITTED 保证一个事务修改的数据提交后才能被另外一个事务读取

ISOLATION_REPEATABLE_READ 保证了一个事务不能读取另一个事务未提交的数据外,还保证不可重复读

ISOLATION_SERIALIZABLE 这是花费最高代价但是最可靠的事务隔离级别,事务被处理为顺序执行,避免了幻想读

发布了126 篇原创文章 · 获赞 46 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/loulanyue_/article/details/100548423