我使用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>