春のTransaction注釈の設定方法は?
Springには、トランザクションを設定するために以下のアノテーションを使用することができます。
- @EnableTransactionManagementアノテーションを設定クラスに追加すると、Springのトランザクション管理機能が有効になります。
- @Transactionalアノテーションを使用して、トランザクションを有効にする必要があるメソッドに適用します。メソッドが呼び出されると、Springはトランザクションの開始、コミット、またはロールバックを自動的に処理します。
- @Transactional(propagation = Propagation.REQUIRED):このアノテーションはトランザクションの伝播動作を設定することができます。Propagation.REQUIREDは、現在トランザクションがない場合は新しいトランザクションを作成し、すでにトランザクションが存在する場合はそのトランザクションに参加することを意味します。
- @Transactional(isolation = Isolation.READ_COMMITTED)は、トランザクションの分離レベルを設定するアノテーションです。Isolation.READ_COMMITTEDは、トランザクションがコミットされたデータを読み取りおよび変更できることを意味しますが、未コミットのデータを読み取ることはできません。
- @Transactional(rollbackFor = Exception.class):この注釈は、特定の例外が発生した場合にトランザクションをロールバックするように設定できます。Exception.classは、任意の例外がトランザクションのロールバックを引き起こすことを示します。
- @Transactionalアノテーション(noRollbackFor = Exception.class): このアノテーションは、指定された例外に遭遇した場合にトランザクションをロールバックしないように設定することができます。
- @Transactional(timeout = 60):このアノテーションはトランザクションのタイムアウト時間を設定できます。単位は秒です。指定された時間を超えると、トランザクションは自動的にロールバックされます。
これらは一般的なSpringトランザクション注釈の設定方法です。具体的な要件に応じて設定できます。