春のトランザクション伝播メカニズムには、いくつの種類がありますか?
Springフレームワークでは、トランザクション伝播メカニズムには以下のような種類があります。
- 必須(デフォルト値):現在トランザクションが存在する場合は、そのトランザクションに参加します。 トランザクションが存在しない場合は、新しいトランザクションを作成します。
- SUPPORTS:もし現在トランザクションが存在すれば、そのトランザクションに参加する。もし現在トランザクションが存在しなければ、非トランザクションの方法で実行する。
- 必須:現在トランザクションが存在している場合は、そのトランザクションに参加します。現在、トランザクションが存在していない場合は、例外をスローします。
- REQUIRES_NEW:新しいトランザクションを作成し、現在のトランザクションが存在する場合は現在のトランザクションを中断します。
- NOT_SUPPORTED:トランザクションを非トランザクション方式で実行し、現在のトランザクションがある場合は、そのトランザクションを一時停止します。
- トランザクションが存在する場合、NON-TRANSACTIONALLYを使用して処理を行わないようにし、例外をスローします。
- ネスト:現在トランザクションが存在する場合、ネストされたトランザクション内で実行します。現在トランザクションが存在しない場合は、新しいネストされたトランザクションを作成します。