Spring中如何配置Hibernate事务

<

div id=”content” contentScore=”4385″>为了保证数据的一致性,在编程的时候往往需要引入事务这个概念。事务有4个特性:原子性、一致性、隔离性、持久性。

事务的种类有两种:编程式事务和声明式事务。编程式事务就是将事务处理放在程序中,而声明式事务则是通过配置文件或者注解进行操作。

在Spring中有声明式事务的概念,通过和Hibernate类似框架的集成,可以很好的完成声明式事务。

其实,不论在Spring中有几种配置Hibernate事务的方法,都逃不出一下几条:

1.配置SessionFactory

2.配置事务容器

3.配置事务规则

4.配置事务入口

后面一共为大家提供4种配置Hibernate事务的方法。

首先说下配置SessionFactory,配置SessionFactory有两种方式,一种是通过配置hibernate.cfg.xml文件的位置来配置SessionFactory,另一种就是在Spring配置文件中,手动配置数据源。

下面是两种配置SessionFactory的方式(第二种配置需要额外引入两个包:commons-dbcp、commons-pool)

 
   class=”org.springframework.orm.hibernate3.LocalSessionFactoryBean”>
   

 
 
 
   destroy-method=”close”>
         

 
   class=”org.springframework.orm.hibernate3.LocalSessionFactoryBean”>
           update              classpath:实体对应xml的路径
   
 
 

至此Hibernate就成功的将SessionFactory交给了Spring来管理。现在再来看Spring是怎样管理Hibernate事务的吧。

第一种方式,利用tx标签配置事务。

 
   class=”org.springframework.orm.hibernate3.HibernateTransactionManager”>
   

 
 
 
   
   
   
   
 

 

 
 
 
 
 

第二种,用代理进行配置

 
   class=”org.springframework.orm.hibernate3.HibernateTransactionManager”>
   

 
   class=”org.springframework.transaction.interceptor.TransactionProxyFactoryBean”
  abstract=”true”>
          
    PROPAGATION_REQUIRED,-Exception    PROPAGATION_REQUIRED,+MyException    PROPAGATION_REQUIRED    READONLY   
 
 

 
 
   

更多详情见请继续阅读下一页的精彩内容http://www.linuxidc.com/Linux/2013-12/93681p2.htm

Hibernate 的详细介绍请点这里
Hibernate 的下载地址