`
hzywy
  • 浏览: 168643 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Spring对Hibernate事务管理的配置

阅读更多
  声明式事务配置主要分以下几步:

声明式事务配置

•配置事务管理器;
•事务的传播特性;
•那些类那些方法使用事务。
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
	<property name="sessionFactory">
	<ref bean="sessionFactory"/>
	</property>
	</bean>

	<!-- 配置事务的传播特性 -->
	<tx:advice id="txAdvice" transaction-manager="transactionManager">
		<tx:attributes>
			<tx:method name="delete*" propagation="REQUIRED" />
			<tx:method name="insert*" propagation="REQUIRED" />
			<tx:method name="update*" propagation="REQUIRED" />
			<tx:method name="register*" propagation="REQUIRED" />
			<tx:method name="modify*" propagation="REQUIRED" />
			<tx:method name="add*" propagation="REQUIRED" />
			<tx:method name="*lock*" propagation="REQUIRED" />
			<tx:method name="reset*" propagation="REQUIRED" />
			<!-- 将save、delete、modify开头的事务之外的事务全部设置 为只读事务,这样也可以在一定程序上提高系统性能 -->
			<tx:method name="find*" read-only="true"/>
			<tx:method name="get*" read-only="true"/>
			<tx:method name="query*" read-only="true"/>
		</tx:attributes>
	</tx:advice>
	<!-- 配置那些类的那些方法参与事务 -->
	<aop:config>
		<!-- <aop:pointcut>标签指的是一个范围 -->
		<aop:pointcut id="allMagangerMethod" expression="execution(* com.chinaGPS.song.dao.base.BaseService.*(..))" />
		<aop:pointcut id="allMagangerMethod1" expression="execution(* com.chinaGPS.song.service.impl.*ServiceImpl.*(..))" />
		<aop:pointcut id="allMagangerMethod2" expression="execution(* com.chinaGPS.song.service.*Service.*(..))" />
		
		<!-- <aop:advisor>标签相当于Aspect -->
		<aop:advisor pointcut-ref="allMagangerMethod" advice-ref="txAdvice" />
		<aop:advisor pointcut-ref="allMagangerMethod1" advice-ref="txAdvice" />
		<aop:advisor pointcut-ref="allMagangerMethod2" advice-ref="txAdvice" />
	</aop:config>


这时候我们就可以在我们业务逻辑层用HibernateTemplate里面提供的数据操作方法来编写我们的业务逻辑方法了,当然我们的方法必须要是以我们事务配置里面配置的一样,用save,delete,update,get,register*,modify*,*lock*等等。做我们的方法的开头。需要注意的是,默认情况下运行期异常才会回滚(包括继承了RuntimeException子类),普通异常是不会滚的。

分享到:
评论

相关推荐

    spring mvc+hibernate实现事务管理(配置文件版)

    本项目是关于如何使用Spring MVC与Hibernate结合来实现事务管理的实践教程,通过MyEclipse自动生成所需的包和配置文件。这里将详细讲解这一过程,以及涉及到的关键知识点。 首先,Spring MVC作为Spring框架的一部分...

    在Spring中配置Hibernate事务

    在Spring框架中集成和配置Hibernate事务管理是企业级Java应用中的常见实践,它能提供高效且灵活的事务处理策略。Spring作为一款强大的依赖注入(DI)和面向切面编程(AOP)容器,能够轻松地管理和协调不同数据访问...

    spring hibernate 事务管理学习笔记(一)

    在Spring中,我们可以配置`PlatformTransactionManager`接口的实现类,如`HibernateTransactionManager`,它会自动感知Hibernate Session并管理事务。通过声明式事务管理,我们只需在方法上添加`@Transactional`注解...

    spring3,hibernate4 配置声明式事务管理(annotation方式)

    当我们需要在应用程序中进行事务管理时,Spring提供了一种声明式的方式,使得事务配置更为简洁。本篇将详细介绍如何在Spring 3和Hibernate 4中通过注解来实现声明式事务管理。 首先,我们需要在项目中引入Spring和...

    Spring Hibernate事务实例

    2. Hibernate事务管理:使用`HibernateTransactionManager`结合SessionFactory进行事务控制。 3. AOP(面向切面编程)在事务管理中的应用:`TransactionInterceptor`基于AOP拦截方法调用,处理事务。 4. 配置事务...

    spring整合hibernate实现事务处理

    在`Spring_1800_Spring_Hibernate_Transaction_Annotation`这个压缩包文件中,很可能包含了使用注解方式实现Spring整合Hibernate事务处理的相关示例代码和配置文件。通过阅读和理解这些代码,你可以更好地掌握这一...

    spring hibernate 事务管理学习笔记(二)

    在本篇“Spring Hibernate 事务管理学习笔记(二)”中,我们将深入探讨Spring框架与Hibernate集成时如何实现高效、安全的事务管理。这是一篇关于源码分析和技术工具使用的文章,适合对Java开发和数据库操作有基础...

    memcache也spring,hibernate的配置

    4. **Spring与Hibernate的集成**:Spring提供了对Hibernate的全面支持,可以通过SessionFactoryBean配置来管理Hibernate的SessionFactory,并通过HibernateTemplate或HibernateJpaDialect进行数据访问操作。...

    spring3+hibernate4配置声明式事务管理(annotation方式)

    5. **配置Spring和Hibernate**:在Spring 3中,我们需要配置Hibernate SessionFactory,并将其与Spring的事务管理器相结合。这通常通过XML配置文件或Java配置类完成。同时,需要为数据源、SessionFactory和事务管理...

    Spring与Hibernate集成

    通过Spring对Hibernate的管理,我们可以更好地控制事务、实现解耦,同时降低出错的可能性。此外,Spring的AOP支持使得事务管理更加简单,提高了代码的可测试性。在实际项目中,这种集成方式被广泛应用,是Java EE...

    Spring Hibernate 事务处理 详细说明

    3. **Hibernate事务配置:**在Spring中,需要配置Hibernate SessionFactory,并将其注入到需要进行数据库操作的服务中。同时,通过`PlatformTransactionManager`接口(如HibernateTransactionManager)配置事务管理...

    Spring+Hibernate注解事务实例

    本实例将深入探讨如何结合Spring的注解声明式事务管理与Hibernate的数据访问技术,构建一个完整的事务处理系统。 Spring框架以其灵活的依赖注入(DI)和面向切面编程(AOP)闻名,它允许开发者将事务管理从业务逻辑...

    Spring+Hibernate事务管理

    Spring将事务管理分成了两类: * 编程式事务管理 * 手动编写代码进行事务管理.(很少使用) * 声明式事务管理: * 基于TransactionProxyFactoryBean的方式.(很少使用) * 需要为每个进行事务管理的类,配置一个...

    spring3、 hibernate4 配置声明式事务管理(annotation方式)

    `HibernateTransactionManager`是Spring提供的专门用于管理Hibernate事务的类,它会自动处理Hibernate Session和JDBC Connection的开启、提交、回滚。 三、配置Spring事务管理 在Spring的配置文件中,我们需要添加...

    spring +hibernate 详解与配置(附图)

    - Spring的事务管理机制可以很好地与Hibernate进行集成,使得事务控制变得更加简单和一致。 - 可以使用声明式事务管理,减少代码量并提高可维护性。 2. **DAO支持**: - Spring提供的DAO支持可以与Hibernate DAO...

    声明式事务控制spring+hibernate集成

    在"声明式事务控制,spring2.5+hibernate3集成源码"中,开发者可以学习如何配置Spring的事务管理器,以及如何在Hibernate的SessionFactory和SessionFactoryBuilder上使用Spring的TransactionProxyFactoryBean来创建...

    spring配置hibernate事务

    在Spring框架中配置Hibernate事务管理是一项关键任务,它允许开发者以声明式的方式处理数据库操作的事务性,确保数据的一致性和完整性。以下是如何在Spring中配置Hibernate事务的详细步骤和概念解释。 首先,理解...

    spring hibernate mysql 事务实例

    Hibernate作为持久层框架,它自身也提供了事务管理,但通常在Spring环境下,我们会让Spring接管事务,以便在整个应用中保持一致的事务策略。Spring通过JDBC的DataSourceTransactionManager或Hibernate的...

    spring+hibernate

    此外,还可以在Spring配置文件中手动定义PlatformTransactionManager bean,如HibernateTransactionManager,来实现对Hibernate事务的控制。 Spring事务管理主要有两种模式:编程式事务管理和声明式事务管理。编程...

    springmvc+spring+hibernate

    3. **配置Spring**:在src/main/resources下创建applicationContext.xml文件,配置Spring的核心容器,包括Bean定义、数据源、事务管理器等。例如,使用DataSource来连接Oracle数据库,使用...

Global site tag (gtag.js) - Google Analytics