开发者社区 问答 正文

Spring的事务@Transactional应写在哪层

你们事务 @Transactional 写在哪几个层上?我有两个操作都是插入操作两个dao操作都加一个事务,然后service调用者两个dao的那个方法上面使用一个事务可以吗?这两个插入操作必须要么都执行成功,要么都不执行,这么写可以吧

展开
收起
景凌凯 2020-04-22 18:05:59 3390 分享 版权
1 条回答
写回答
取消 提交回答
  • 有点尴尬唉 你要寻找的东西已经被吃掉啦!
    • 写service上,这个问题要看 spring 的事物的传播机制
    • 想了一下,事务一般是写在service层上,这个层的api是粗粒度的,就是能实现一个原子操作,要么都成功,要么都不成功。 如果写在dao上也可以直接从Controller直接调用dao层有点反模式。dao是最基础的,写了,可能其他的service方法使用这个dao已经不需要这个形式的@Transactional了
    2020-04-22 18:06:17
    赞同 展开评论