spring管理hibernate事务

关于事务最近深入研究了一下,首先说一下hibernate事务,对于hibernate事务其实就是简单的对于jdbc的事务的封装,首先我们先获取session,hibernate获取session两种方式getCurrentSession(),一种opensession(),前一种获取的session是会自动取消commit和rollback,opensession则需要手动关闭。单独使用hibernate使用事务时我们可以在代码中单独使用tx = sessionFactory.opensession.beginTransaction(); tx.commit();。现在使用spring事务管理来管理hibernate事务。
<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  <property name="sessionFactory" ref="sessionFactory"></bean>
<tx:annotation-drive [transaction-manager="txManager"]/>如果你使用transactionManager来定义事务bean的name那么就可以省略掉transaction-manager这个属性,反之则必须有,
这样就让spring管理了。
  关于spring事务管理,对于jdbc的事务管理使用org.springframework.orm.jdbc.datasourceTransmanager
spring管理jpa事务
org.springframework.orm.jpa.jpaTransactionManager

你可能感兴趣的:(spring管理hibernate事务)