- 事务属性的设置 @Transactional中的属性值
- 传播行为
propagation=Propagation.REQUIRED是默认值 会按外层事务来,当下面的事务有错时,也会回滚
propagation=Propagation.SUPPORTS按外层的来,外层没有,就相当于没有这个事务
propagation=Propagation.REQUIRES_NEW 按自己的来,当下面的事务有错时,他不会回滚
- 隔离级别
isolation=Isolation.REPEATABLE_READ是默认值,可重复读,在查询了某个值之后,打了断点,修改数据库中的值,再次查询,还是原来的数
isolation=Isolation.READ_COMMITTED 提交读取,当上述情况,再次查询时就是新改的值
- 事务根据什么异常不进行回滚
noRollbackFor=ArithmeticException.class默认为有异常就回滚,现在设置为出现运算异常不回滚
- 事务的超时属性
timeout=3 这个3秒指的是有没有3秒之内执行完sql语句,如果没有事务回滚,相当于对该操作进行撤销,避免浪费资源
- 事务的只读属性
readOnly=true数据库会对事务进行优化,如果是一个查询操作,那么数据库可以有针对性的进行优化。我们可以通过设置事务属性,告诉数据库当前操作是一个只读操作,便于数据库进行优化。
posted @
2017-08-31 17:57
12344321hh
阅读(
140)
评论()
编辑
收藏
举报