Spring事务的属性如何配置才能确保数据一致性并有效管理事务边界?
- 内容介绍
- 文章标签
- 相关推荐
本文共计301个文字,预计阅读时间需要2分钟。
事务的传播级别,隔离级别,回滚,只读+1. 使用propagation指定事务的传播行为,也就是当前事务方法被另一个事务方法调用时如何使用事务。默认取值是REQUIRED,即如果当前没有事务,就新建一个事务,如果已存在一个事务中,加入这个事务。即使用调用方法的事务。
事务的传播级别,隔离级别,回滚,只读1.使用propagation指定事务的传播行为,也就是当前事务方法被另一个事务方法调用时如何使用事务,默认取值为 REQUIRED,即使用调用方法的事务。(REQUIRED_NEW为新建一个事物,调用方法的事务挂起,等待新建事务结束再继续) 例:@Transactional(propagation=Propagation.REQUIRED) 2.使用isolation,指定事务的隔离级别,常用取值为READ_COMMITTED 例:@Transactional(isolation=Isolation.READ_COMMITTED) 3.默认情况下Spring的声明式事务对所有运行时异常进行回滚,也可以通过对应的属性进行设置,通常情况下默认值就可以 4.使用readOnly指定事务为是否只读,表示这个事务只读取数据不更新数据。 例:@Transactional(readOnly=false) 5.使用timeout指定强制回滚之前事务可以占用的时间 例:@Transactional(timeout=3)
本文共计301个文字,预计阅读时间需要2分钟。
事务的传播级别,隔离级别,回滚,只读+1. 使用propagation指定事务的传播行为,也就是当前事务方法被另一个事务方法调用时如何使用事务。默认取值是REQUIRED,即如果当前没有事务,就新建一个事务,如果已存在一个事务中,加入这个事务。即使用调用方法的事务。
事务的传播级别,隔离级别,回滚,只读1.使用propagation指定事务的传播行为,也就是当前事务方法被另一个事务方法调用时如何使用事务,默认取值为 REQUIRED,即使用调用方法的事务。(REQUIRED_NEW为新建一个事物,调用方法的事务挂起,等待新建事务结束再继续) 例:@Transactional(propagation=Propagation.REQUIRED) 2.使用isolation,指定事务的隔离级别,常用取值为READ_COMMITTED 例:@Transactional(isolation=Isolation.READ_COMMITTED) 3.默认情况下Spring的声明式事务对所有运行时异常进行回滚,也可以通过对应的属性进行设置,通常情况下默认值就可以 4.使用readOnly指定事务为是否只读,表示这个事务只读取数据不更新数据。 例:@Transactional(readOnly=false) 5.使用timeout指定强制回滚之前事务可以占用的时间 例:@Transactional(timeout=3)

