Spring 事务属性的种类
来源:互联网 发布:怪物猎人2g多玩数据库 编辑:程序博客网 时间:2024/05/02 04:31
一、传播行为
Spring 的传播行为定义了被调用方法的事务边界。
二、隔离级别
在操作数据时可能带来 3 个副作用,分别是脏读、不可重复读、幻读。为了避免这 3 中副作用的发生,在标准的 SQL 语句中定义了 4 种隔离级别,分别是未提交读、已提交读、可重复读、可序列化。而在 spring 事务中提供了 5 种隔离级别来对应在 SQL 中定义的 4 种隔离级别,如下:
三、只读
如果在一个事务中所有关于数据库的操作都是只读的,也就是说,这些操作只读取数据库中的数据,而并不更新数据,那么应将事务设为只读模式(READ_ONLY_MARKER ) , 这样更有利于数据库进行优化 。因为只读的优化措施是事务启动后由数据库实施的,因此,只有将那些具有可能启动新事务的传播行为 (PROPAGATION_NESTED 、 PROPAGATION_REQUIRED 、 PROPAGATION_REQUIRED_NEW) 的方法的事务标记成只读才有意义。
如果使用 Hibernate 作为持久化机制,那么将事务标记为只读后,会将 Hibernate 的 flush 模式设置为 FULSH_NEVER, 以告诉 Hibernate 避免和数据库之间进行不必要的同步,并将所有更新延迟到事务结束。
四、事务超时
如果一个事务长时间运行,这时为了尽量避免浪费系统资源,应为这个事务设置一个有效时间,使其等待数秒后自动回滚。与设置“只读”属性一样,事务有效属性也需要给那些具有可能启动新事物的传播行为的方法的事务标记成只读才有意义。
阅读全文
0 0
- spring 事务属性的种类
- Spring 事务属性的种类
- Spring的事务属性
- Spring的事务传播属性
- Spring的事务传播属性
- Spring的事务传播属性
- Spring事务传播行为种类
- Spring事务传播行为种类
- spring事务传播行为种类
- 【事务的种类】
- Spring中事务的传播属性详解
- 全面透彻的spring事务属性详解
- Spring中事务的传播属性详解
- Spring中事务的传播属性详解
- Spring的事务属性意义------transactionAttributes
- Spring的事务属性意义------transactionAttributes
- Spring中事务的传播属性详解
- Spring事务TransactionProxyFactoryBean属性-transactionAttributes的意义
- Swift 系统Modal转场样式
- CRAFT Objects from Images
- ueditor jsp版本 后台配置项无法加载解决方案--局域网内项目
- Andbase中的Http请求
- 个人存档
- Spring 事务属性的种类
- mongodb设置密码
- php+vue.js 实现省市县乡的四级联动(ajax加载)
- Maven库
- 手把手教您在SuperMap iDesktop中制作全球晕渲图
- 在servlet(或者filter或者listener)中使用spring的IOC容器
- Elasticsearch 中文分词器 IK 配置和使用
- faad2在C++环境下的运行依赖库
- activiti-explorer(activiti 5.22) 替换为mysql数据库