spring使用annonation管理hibernate的事物

来源:互联网 发布:简单网页源码 编辑:程序博客网 时间:2024/04/28 20:00

修改spring配置文件,增加:

<bean id="txManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory"/></bean><tx:annotation-driven transaction-manager="txManager" proxy-target-class="true"/>


在类中需要增加事物管理的方法上使用@Transactional标记

或者在整个类中使用@Transactional标记

 

问题:

由于在web环境中,spring的配置文件一般是分为几个,比如一个配置springmvc使用的,另一个却是配置hibernate使用的,所以简单的照搬上面的配置到spring的xml文件会出现无法识别出@Transactional标签的问题。

如果出现类似:

org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here

的问题,则很可能是因为@Transactional标签没有起作用。解决方法参见解决 spring mvc 3.0 结合 hibernate3.2 使用声明式事务无法提交的问题 .

原创粉丝点击