spring怎样在service层控制事务

 我来答
匿名用户
2016-07-08
展开全部
  你可以抛出一个自定义的运行时异常 class RollbackRuntimeException extends RuntimeException{} , 在调用这个方法的时候,这样写: try{ service.createOrder(); }catch(RollbackRuntimeException e) { //正常流程,什么也不做 } 或者不要使用申明式事务,使用编程式事务,手动控制事务边界.

  <!–声明事务–> < bean id=”txManager”> < property name=”sessionFactory” ref=”sessionFactory” /> < /bean> < !– 创建通知–> < tx:advice id=”txAdvice” transaction-manager=”txManager”> < tx:attributes> < tx:method name=”find*” read-only=”true”/> < tx:method name=”has*” read-only=”true”/> < tx:method name=”add*” propagation=”REQUIRED” /> < tx:method name=”alter*” propagation=”REQUIRED” /> < tx:method name=”upd*” propagation=”REQUIRED” /> < tx:method name=”del*” propagation=”REQUIRED” /> < tx:method name=”exec*” propagation=”REQUIRED” /> < /tx:attributes> < /tx:advice> < !– 切入接口所在的包 –> < aop:config> < aop:pointcut id=”serviceOperation” expression=”execution(public * org.bgi.*.service.*.*(..))” /> < aop:advisor advice-ref=”txAdvice” pointcut-ref=”serviceOperation” /> < /aop:config>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式