トランザクション境界はActionかServiceか

今までずっと、Service層でやってきたけど、Actionの方が単純でよいのか?

  • Action層にすると
    • DBを使用しない処理でもトランザクションが発生してしまうので少し気持ち悪い。
    • 1リクエストで複数のテーブルを更新する場合に、Service層に各テーブルを更新するメソッドを作成でき、シンプルになる。
  • Service層にすると
    • 1リクエストで複数のテーブルを更新する場合に、全テーブルの項目をまとめたDTOをつくらないといけない。