当前位置: 代码迷 >> Java Web开发 >> Spring集成Hibernate时,回滚的有关问题
  详细解决方案

Spring集成Hibernate时,回滚的有关问题

热度:79   发布时间:2016-04-16 22:01:03.0
Spring集成Hibernate时,回滚的问题。
我使用HibernateTemplate实现DAO类后,是不是已经支持错误回滚了?? 还是另外再用HibernateTransactionManager事务管理器处理后才会支持回滚功能?
------解决方案--------------------
既然是集成使用spring的事务不是更好吗
------解决方案--------------------
spring有个通过AOP控制事务的功能,直接使用spring事务管理就好

    <aop:aspectj-autoproxy proxy-target-class="true"/>
    
    <!-- the transactional advice -->
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="save*" propagation="REQUIRED"/>
<tx:method name="delete*" propagation="REQUIRED"/>
<tx:method name="modify*" propagation="REQUIRED"/>
<tx:method name="update*" propagation="REQUIRED"/>
<tx:method name="add*" propagation="REQUIRED"/>
<tx:method name="get*" propagation="SUPPORTS" read-only="true"/>
<tx:method name="find*" propagation="SUPPORTS" read-only="true"/>
<tx:method name="noSupport*" propagation="NOT_SUPPORTED"/>
<tx:method name="*" propagation="SUPPORTS"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="servicesPointcut" 
expression="execution(*  com...*.service.*.*(..))" /> <!-- 用来定义切入点,该切入点可以重用 ,expression定义切入点模式-->
<aop:advisor advice-ref="txAdvice" pointcut-ref="servicesPointcut" /> <!-- 用来定义只有一个通知和一个切入点的切面 -->
</aop:config>
  相关解决方案