ZRP53pro
2011-10-04 00:53 阅读 188
已采纳

spring的事务管理应该针对业务逻辑组件的方法还是DAO的方法?

新人发问, 我看了很多关于配置事务管理的帖子, 大家好像都是针对为DAO的方法配置事务管理, 比如insert啊find啊之类的方法, 可是我觉得应该为业务逻辑组件的方法配置事务才对啊~ 因为无论是从线程安全来考虑, 还是从原子操作来考虑, 都应该把业务逻辑的方法当作一个事务才对啊, 比如我有一个操作叫转帐, 需要从A户口减钱, 然后B户口加钱, 需要调用两次DAO的方法, 如果只配置DAO的方法, 那么如果A减钱之后, B加钱的过程中操作失败, 那就回滚不到原来状态了啊, A的钱白减了啊...求解...

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • 已采纳
    programstudy0821 programstudy0821 2011-10-08 20:08

    是啊事务边界当然是service层啊,这样service的每个方法都是一个事务了。
    因为与客户交互的一般都是从服务层里面调用的方法来响应事件的,这样更体现了事务的优点。
    当人也有人在Dao的实现层配置事务管理,但我建议不要使用这种方法。

    点赞 评论 复制链接分享
  • weixin_42569100 重口味恋 •上小清新 2011-10-04 09:43

    事务边界当然在 service 层了.

    @Service
    @Transactional
    public class MyXXService {

    }

    这样service的每个方法都是一个事务了

    点赞 评论 复制链接分享
  • qq1988627 qq1988627 2011-10-08 16:40

    确实如上所述

    点赞 评论 复制链接分享
  • easyroom easyroom 2011-10-09 15:24

    么有争议的问题,纯蹭分

    点赞 评论 复制链接分享

相关推荐