`
wls981
  • 浏览: 137544 次
  • 性别: Icon_minigender_1
  • 来自: 桂林
社区版块
存档分类
最新评论

spring事务...事务...事务...readonly事务

    博客分类:
  • java
 
阅读更多

shit...又被readonly事务耍了几个小时...

 

这里说的是spring + hibernate。

一个事务被定义成readonly的,本身并没有什么问题,整个事务周期内都是readonly的。但是...但是呢,如果同时使用了openSessionInView等会使多个事务共享同一个session的情况,那就需要注意了。由于是多个事务共享Session的,所以如果在readonly的事务中对与session关联的entity进行了修改(如改变了属性值等),则在别的非readonly的事务中会把在readonly事务中的修改提交到数据库,因为在非readonly的事务中会对Session进行flush操作,导致在readonly事务中仍然与session关联着的被修改过的entity的修改提交到数据库。

 

 

好吧,写得TMD太乱了。

分享到:
评论

相关推荐

    org.springframework.dao.InvalidDataAccessApiUsageException

    导致 `org.springframework.dao.InvalidDataAccessApiUsageException` 的主要原因是Spring事务管理器默认将事务设置为只读模式。这意味着,在默认情况下,Spring假设任何被事务管理的方法都是只进行读取操作而不涉及...

    hibernate错误解决方案

    org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER) - turn your Session into FlushMode.AUTO or remove 'readOnly' marker ...

    Spring 管理事务(传播特性、隔离级别、readonly).rar

    本知识点将深入探讨Spring中的事务管理,主要包括事务的传播特性、隔离级别以及readonly属性。 1. 事务的传播特性: 在Spring中,事务的传播特性定义了在一个事务方法被另一个事务方法调用时,应该如何处理事务...

    Spring事务原理、Spring事务配置的五种方式

    Spring事务原理和配置 Spring事务原理是指Spring框架中的一种机制,用于管理事务,并提供了多种配置方式。事务是指一系列的操作,作为一个整体执行,如果其中某个操作失败,整个事务将回滚。Spring事务原理围绕着两...

    spring声明事务的配置

    Spring声明式事务管理是Spring框架的核心特性之一,它允许开发者在不侵入业务代码的情况下,对应用程序的事务进行管理。这种方式极大地提高了代码的可维护性和灵活性。以下是对Spring声明式事务配置的详细说明: 1....

    spring声明式事务.zip

    - `readOnly`:是否只读事务,如果是,则会优化事务处理,不进行提交操作。 - `rollbackFor`和`noRollbackFor`:指定异常类型,当抛出这些异常时是否回滚事务。 5. **事务的回滚规则** 默认情况下,只有运行时...

    spring2.0声明式事务

    ### Spring 2.0 声明式事务配置详解 #### 一、Spring 2.0 声明式事务概述 随着 Spring 框架的发展,从 Spring 1.x 到 Spring 2.0 版本,声明式事务管理方式有了显著改进。在 Spring 1.x 中,主要通过 AOP 方式实现...

    S详细讲解SH中Spring事务流程.docx

    以下是对Spring事务流程的详细讲解: 1. **数据源配置**: 在XML配置文件中,首先定义数据源`dataSource`,这是Spring与数据库交互的基础。这里使用了一个名为`org.apache.commons.dbcp.BasicDataSource`的数据源...

    spring事务配置的5中方式

    Spring 事务配置是Spring框架中不可或缺的一部分,它用于管理和协调应用程序中的事务边界,确保数据的一致性和完整性。在Spring中,事务配置主要涉及到三个核心组件:DataSource、TransactionManager和代理机制。...

    实例详解Spring JDBC事务管理.doc

    Spring事务管理机制 Spring的事务管理机制是基于PlatformTransactionManager接口的实现的,该接口定义了三个方法:getTransaction、commit和rollback。这三个方法是事务管理的核心,分别负责事务的开启、提交和...

    Spring_Hibernate使用TransactionInterceptor声明式事务配置.doc

    Spring_Hibernate使用TransactionInterceptor声明式事务配置 在这篇文章中,我们将探讨使用Spring_Hibernate框架实现声明式事务配置的方法,具体来说,就是使用TransactionInterceptor来管理事务。在Spring框架中,...

    Spring声明式事务配置模板2.x

    4. **其他事务属性**:除了`@Transactional`,Spring还提供了其他事务相关的注解,如`@Transactional(readOnly = true)`用于标记只读事务,提高性能;`@RollbackFor`和`@NoRollbackFor`用于控制哪些异常类型需要触发...

    浅谈SpringBoot之事务处理机制

    Spring Data JPA对所有的默认方法都开启了事务支持,且查询类事务默认启用readOnly=true属性。这个从源码SimpleJpaRepository中可以看出,SimpleJpaRepository在类级别定义了@Transactional(readOnly=true),而在...

    Spring 事务代理配置

    在深入探讨Spring事务代理配置之前,我们先简要回顾一下Spring框架的核心概念。Spring是一个开源的Java平台,它提供了一套全面的编程和配置模型,主要用于简化企业级应用的开发。其中,依赖注入(Dependency ...

    Spring事务配置的五种方式

    Spring 事务管理是其核心特性之一,用于确保在执行数据库操作时的一致性和可靠性。它提供了五种不同的配置方式来适应不同的应用场景。以下是对这些配置方式的详细解释: 1. **基于代理的事务管理(Proxy-based ...

    Spring事务类型祥解

    - `readOnly`: 是否为只读事务,如果设置为`true`,则事务管理器会尽可能地优化只读事务,例如在某些数据库中禁用写锁定。 - `rollbackFor`和`noRollbackFor`: 分别指定发生哪些异常时应回滚和不应回滚事务。 3. ...

    Spring 事务配置详解(多种配置方法)

    本文将详细解析Spring事务配置的多种方法,包括XML配置和注解方式。 首先,理解Spring事务配置的基本组件至关重要。这些组件主要包括: 1. **DataSource**:数据源,它是连接数据库的桥梁,负责管理与数据库的连接...

    Spring的事务配置的五种方式

    Spring框架在处理事务时提供了五种不同的配置方式,这些配置主要涉及到事务的声明式管理和编程式管理。在Spring中,事务管理通常分为三部分:DataSource、TransactionManager和代理机制。DataSource是数据源,...

    Spring事务五种不同的代理配置

    此外,Spring 事务管理还涉及到事务隔离级别(如 READ_UNCOMMITTED、READ_COMMITTED、REPEATABLE_READ、SERIALIZABLE)和事务超时设置等高级特性。这些都可以通过配置或者注解进行定制,以满足不同业务场景的需求。 ...

    spring声明式事务配置方法.docx

    Spring声明式事务管理是Spring框架中的一个重要特性,它允许开发者在不修改代码的情况下,通过配置来控制事务的边界。这种方式极大地简化了事务管理,使得事务处理与业务逻辑解耦,提高了代码的可维护性和可测试性。...

Global site tag (gtag.js) - Google Analytics