`
ssg108
  • 浏览: 51427 次
  • 性别: Icon_minigender_2
  • 来自: 郑州
社区版块
存档分类
最新评论

spring 事务配置二

阅读更多

上次的说,不配置事务默认是回滚状态是不准确的,是没有设置自动提交。

上次的配置文件用的是hibernate.cfg.xml ,这个配置文件配置如下:

                              <property name="hibernate.connection.url">jdbc:mysql://localhost/hibernate_session</property>
		<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="hibernate.connection.username">root</property>
		<property name="hibernate.connection.password">123456</property>
		<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
		<property name="hibernate.show_sql">true</property>

		

 

spring 配置文件如下:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
	     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	     xmlns:aop="http://www.springframework.org/schema/aop"
	     xmlns:tx="http://www.springframework.org/schema/tx"
	     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
	<!-- 配置sessionFactory -->
	<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="configLocation">
			<value>classpath:hibernate.cfg.xml</value>
		</property>	
	</bean>           
	
	<!-- 配置事务管理器 -->
	<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory">
			<ref bean="sessionFactory"/>
		</property>	
	</bean>
	
	
</beans>

 

 

这种只配置了事务管理器,而没有配置事务。

 

这种方式是提交不了的,需要在hibernate.cfg.xml中加入如下的属性:

<property name="hibernate.connection.autocommit">true</property>

 

 

提交就没有问题了

 

对于这种配置,没有spring的动态代理概念了。

 

就是在调用bean的时候,是真实的类,而不是代理类:

BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext-*.xml");
	    userManager = (UserManager)factory.getBean("userManager");

 

事务适用于复杂的业务,像单个操作的保存修改,可以不使用事务的。呵呵

 

下面摘自某位大师的话,呵呵

 

查了一下,没配datasource,也没配事务的确可以用,
这时候获取的数据库连接是直接通过hibernate的DriverManangerConnectionProvider来提供,spring并没有在其上进行动态代理,也就无法通过TransactionAware接口去设置其FlusMode。说白了这时候,提交不提交取决于两点:
1、hibernate对初始连接的设置(FlushMode)
 2、构造conntion是的连接url上是否有autocommit属性的设置
 我猜测你的connection url上有可能有autocommit=false之类的设置。
 因为在无事务情况下,hibernate不会主动去修改jdbc connection的autocommit属性的。

分享到:
评论

相关推荐

    spring事务配置的五种方式

    #### 二、Spring事务配置的基本组成部分 Spring事务配置主要包含以下三个核心组件: 1. **DataSource**:负责提供与数据库连接的资源。 2. **TransactionManager**:用于管理和控制事务的生命周期。 3. **代理机制*...

    spring事务配置的5中方式

    2. **基于注解的事务配置** - **使用@Transactional注解**: 在这种方式下,我们不再需要为每个Bean创建代理,而是直接在需要事务的方法上使用@Transactional注解。这需要开启基于注解的事务管理,并配置相应的...

    Spring事务配置的五种方式

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

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

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

    Spring 事务配置

    Spring 事务配置SpringSpring 事务配置Spring 事务配置Spring 事务配置Spring 事务配置Spring 事务配置

    spring几种事务配置详解【精】

    本文将深入探讨Spring中的几种事务配置方式,帮助开发者更好地理解和运用。 1. **编程式事务管理** 编程式事务管理是在代码中显式调用事务API来控制事务的开始、提交、回滚等操作。这种方式直接在业务逻辑代码中...

    Spring 事务配置解惑 - GitChat

    Spring 事务配置解惑.html 抓下来打包成了HTML文件, 方便离线观看

    详细说明spring事务配置的5种方式

    本文将详细介绍Spring事务配置的五种方式,帮助你深入理解如何在Spring应用中管理事务。 1. **基于XML的声明式事务管理** 第一种方式是在每个Bean上使用代理来实现事务管理。首先,配置`DataSource`,通常是`...

    spring事务配置管理

    spring事务配置管理

    spring声明式事务配置

    根据提供的信息,我们可以深入探讨Spring框架中的声明式事务配置及其多种实现方式。声明式事务管理是一种简化事务管理的方式,它允许开发人员通过配置而非编程来指定事务边界,从而减少了代码的复杂性并提高了可维护...

    Spring事务配置管理分解.pdf

    Spring事务配置管理分解,主要讲解spring事务这块可预览 Spring事务配置管理分解,主要讲解spring事务这块可预览

    spring事务配置详解

    Spring 事务配置是Spring 框架中的重要组成部分,它提供了对数据库操作事务性的管理,确保数据的一致性和完整性。Spring 提供了多种方式来配置事务管理,主要分为编程式事务管理和声明式事务管理。下面将详细介绍这...

    Spring声明式事务配置管理方法

    Spring声明式事务配置管理方法

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

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

    Spring事务配置的五种方法

    Spring事务配置的五种方法 Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分。 DataSource、...

Global site tag (gtag.js) - Google Analytics