一、事务的传播属性
1、propagation:用来设置事务的传播行为,一个方法运行在了一个开启了事务的方法中时,当前方法是使用原来的事务还是开启一个新的事务。
(1)propagation.REQUIRED:默认值,使用原来的事务。
(2)Propagation.REQUIREDS_NEW:将原来的事务挂起,开启一个新的事务
二、事务的隔离级别
1、读未提交:READ UNCOMMITTED 允许事务1读取事务2未提交的修改
2、读已提交:READ COMMITTED 要求事务1只能读取事务2已提交的修改
3、可重复读:REPEATABLE READ 确保事务1可以多次从一个字段中读取到相同的值,即事务1执行期间禁止其他事务对这个字段进行更新
4、串行化:SERIALIZABLE 确保事务1可以多次从一个表中读取到相同的行,在事务1执行期间,禁止其他事务对这个表进行添加、更新、删除操作。可以避免任何并发问题,但性能十分低下。
ioslation:用来设置事务的隔离级别
Isolation.REPEATABLE_READ 可重复读(MySQL默认事务隔离级别)
Isolation.READ_COMMITTED 读已提交(Oracle默认事务隔离级别,开发时通常使用的隔离级别)