首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Spring对Hibernate的事宜支持

2012-08-08 
Spring对Hibernate的事务支持spring提供了对hibernate等pojo对象的事务管理的支持。这是一个spring的一个意

Spring对Hibernate的事务支持

   spring提供了对hibernate等pojo对象的事务管理的支持。这是一个spring的一个意义重大的特性。

   spring提供两种方式对hibernate提供事务管理方式,分别为编程式事务管理和声明式事务管理。

   spring事务策略,也就是spring事务管理的实现方式.它有一个统一的抽象是由实现下面这个接口完成的.org.springframework.transaction.PlatformTransactionManager.像我们常见到的HibernateTransactionManager也是实现的这个接口。

    不管是声明式的还是编程式的事务管理都需要此抽象来完成.


    一、编程式事务
    编程式事务常用getCurrentSession和openSession来完成。

代码片段

<!-- 配置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> <!-- 说明哪些方法使用事务 --><aop:config>     <aop:pointcut id="allManagerMethod"expression="execution(* com.wh.usermgr.manager.*.*(..))"/>     <aop:advisor pointcut-ref="allManagerMethod"advice-ref="txAdvice"/>    </aop:config><!--事务的传播特性配置  --><tx:advice  id="txAdvice"transaction-manager="transactionManager">  <tx:attributes>          <tx:method name="add*"propagation="REQUIRED"/>          <tx:method name="del*"propagation="REQUIRED"/>          <tx:method name="modify*"propagation="REQUIRED"/>          <tx:method name="*"propagation="REQUIRED" read-only="true"/>  </tx:attributes></tx:advice>


     大多数Spring用户选择声明式事务管理,这是最少影响应用代码的选择,因而这是和非侵入性的轻量级容器的观念是一致的。

   

    最后,总结一下Spring事务的优点:


    为不同的事务API提供一致的编程模型,如JTA、JDBC、Hibernate、iBATIS数据库层JDO
    提供比大多数事务API更简单的、易于使用的编程式事务管理API
    整合Spring数据访问抽象
    支持Spring声明式事务管理

6楼lishehe5天前 18:44
顶,欢姐,真的是看不懂啊,呵呵
Re: wanghuan2034天前 00:32
回复lishehen呵呵,要不了多久就看懂了!n加油啊!
5楼lfmilaoshi6天前 19:59
条理清晰。。。。好文章。。。米老师
4楼yingjiebohe6天前 17:07
来过,虽然我看不懂~
Re: wanghuan2036天前 18:51
回复yingjiebohen哇!
3楼qiulongtianshi6天前 08:11
犀利啊!
Re: wanghuan2036天前 14:49
回复qiulongtianshin呃。。
2楼StubbornPotatoes6天前 21:31
[e01]
Re: wanghuan2036天前 07:58
回复StubbornPotatoesn[e04]
1楼han_yankun20096天前 21:06
支持
Re: wanghuan2036天前 21:20
回复han_yankun2009n[e04]

热点排行