当前位置:首页 > 开发 > 编程语言 > Hibernate > 正文

spring中hibernate及事务配置

发表于: 2012-02-15   作者:g21121   来源:转载   浏览:
摘要: hibernate的sessionFactory配置: <!-- hibernate sessionFactory配置 --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <

hibernate的sessionFactory配置:

<!-- hibernate sessionFactory配置 -->
<bean id="sessionFactory"
	class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
	<property name="dataSource" ref="dataSource" />
	<property name="mappingResources">
		<list>
			<value>xxx.hbm.xml</value>
		</list>
	</property>
	<property name="hibernateProperties">
		<props>
			<prop key="hibernate.dialect">${hibernate.dialect}</prop>
			<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
			<prop key="hibernate.jdbc.fetch_size">${hibernate.jdbc.fetch_size}</prop>
			<prop key="hibernate.jdbc.batch_size">${hibernate.jdbc.batch_size}</prop>
			<prop key="hibernate.connection.characterEncoding">${hibernate.connection.characterEncoding}</prop>
			<prop key="hibernate.connection.autocommit">${hibernate.connection.autocommit}</prop>
			<prop key="hibernate.connection.release_mode">${hibernate.connection.release_mode}</prop>
			<prop key="hibernate.autoReconnect">${hibernate.autoReconnect}</prop>
			<prop key="hibernate.cglib.use_reflection_optimizer">${hibernate.cglib.use_reflection_optimizer}</prop>
		</props>
	</property>
</bean>

 

定义事务管理器及事务拦截器:

<!-- 定义事务管理器  -->
<bean id="transactionManager"
	class="org.springframework.orm.hibernate3.HibernateTransactionManager">
	<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!--  配置事务拦截器 -->
<bean id="transactionInterceptor"
	class="org.springframework.transaction.interceptor.TransactionInterceptor">
	<!--  事务拦截器bean需要依赖注入一个事务管理器 -->
	<property name="transactionManager" ref="transactionManager" />
	<property name="transactionAttributes">
		<!--  下面定义事务传播属性 -->
		<props>
				<prop key="save*">PROPAGATION_REQUIRED</prop>
				<prop key="create*">PROPAGATION_REQUIRED</prop>
				<prop key="createDomain">PROPAGATION_REQUIRES_NEW</prop>
				<prop key="update*">PROPAGATION_REQUIRED</prop>
				<prop key="Update*">PROPAGATION_REQUIRED</prop>
				<prop key="modify*">PROPAGATION_REQUIRED</prop>
				<prop key="cancel*">PROPAGATION_REQUIRED</prop>
				<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
				<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
				<prop key="search*">PROPAGATION_REQUIRED,readOnly</prop>
				<prop key="Create*">PROPAGATION_REQUIRED</prop>
				<prop key="sub*">PROPAGATION_REQUIRED</prop>
				<prop key="finance*">PROPAGATION_REQUIRED</prop>
				<prop key="start*">PROPAGATION_REQUIRED</prop>
				<prop key="stop*">PROPAGATION_REQUIRED</prop>
				<prop key="delete*">PROPAGATION_REQUIRED</prop>
				<prop key="transfer">PROPAGATION_REQUIRED</prop>
				<prop key="subCash*">PROPAGATION_REQUIRED</prop>
				<prop key="send*">PROPAGATION_REQUIRED</prop>
				<prop key="xPF*">PROPAGATION_REQUIRED</prop>
				<prop key="pay*">PROPAGATION_REQUIRED</prop>
				<prop key="deal*">PROPAGATION_REQUIRED</prop>
				<prop key="transfer*">PROPAGATION_REQUIRED</prop>
				<prop key="defaultPhone">PROPAGATION_REQUIRED</prop>
				<prop key="open*">PROPAGATION_REQUIRED</prop>
				<prop key="close*">PROPAGATION_REQUIRED</prop>
				<prop key="viewUploadFile">PROPAGATION_REQUIRED</prop>
				<prop key="page*">PROPAGATION_REQUIRED</prop>
		</props>
	</property>
</bean>

 

定义需要处理的bean即dao:

<!--
	定义BeanNameAutoProxyCreator,该bean是个bean后处理器,无需被引用,因此没有id属性
	这个bean后处理器,根据事务拦截器为目标bean自动创建事务代理 指定对满足哪些bean name的bean自动生成业务代理
-->
<bean
	class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
	<!--  下面定义BeanNameAutoProxyCreator所需的事务拦截器 -->
	<property name="interceptorNames">
		<list>
			<value>transactionInterceptor</value>
		</list>
	</property>
	<!--  下面是所有需要自动创建事务代理的bean -->
	<property name="beanNames">
		<list>
			<value></value>
		</list>
	</property>
</bean>

 

spring中hibernate及事务配置

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
来自:http://webservices.ctocio.com.cn/tips/344/6115844.shtml 本文主要探讨怎么用Spring来装配
本文主要探讨如何利用Spring来装配组件,包括其事务上下文。从J2EE应用程序内部连接到单个的数据库
1. spring的事务如何配置 spring的声明式事务配置: 1. <!-- 配置sessionFactory --> <bea
事务配置 首先在/WEB-INF/applicationContext.xml添加以下内容: <!-- 配置事务管理器 --> &l
环境配置 项目使用SSH架构,现在要添加Spring事务管理功能,针对当前环境,只需要添加Spring 2.0 AO
转载出处:http://www.blogjava.net/liudecai/archive/2009/04/08/264467.html 非常感谢有人总结出
Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机
根据代理机制不同,有以下几种配置方式: 先定义一个DAO接口及实现类: Java代码 public interface I
lygle 写道 根据代理机制不同,有以下几种配置方式: 先定义一个DAO接口及实现类: public interface
转载出处:http://www.blogjava.net/liudecai/archive/2009/04/08/264467.html 非常感谢有人总结出
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号