T
- 結果の型 @FunctionalInterfaceSE public interface TransactionCallback<T>
TransactionTemplate
の execute
メソッドで使用されます。多くの場合、メソッド実装内の匿名クラスとして使用されます。 通常、トランザクション非対応のデータアクセスサービスへのさまざまな呼び出しを、トランザクションの境界を設定した高レベルのサービスメソッドにアセンブルするために使用されます。別の方法として、宣言的トランザクション境界の使用を検討してください(例: Spring の Transactional
アノテーションを使用)。
TransactionTemplate
, CallbackPreferringPlatformTransactionManager
修飾子と型 | メソッドと説明 |
---|---|
T | doInTransaction(TransactionStatus status) トランザクションコンテキスト内で TransactionTemplate.execute(org.springframework.transaction.support.TransactionCallback<T>) によって呼び出されます。 |
@Nullable T doInTransaction(TransactionStatus status)
TransactionTemplate.execute(org.springframework.transaction.support.TransactionCallback<T>)
によって呼び出されます。トランザクション自体を気にする必要はありませんが、指定されたステータスオブジェクトを介して現在のトランザクションのステータスを取得して影響を与えることができます。ロールバックのみを設定します。トランザクション内で作成された結果オブジェクト、つまりドメインオブジェクトまたはドメインオブジェクトのコレクションを返すことができます。コールバックによってスローされた RuntimeException は、ロールバックを実行するアプリケーション例外として扱われます。ロールバックの問題がない限り、そのような例外はテンプレートの呼び出し元に伝播されます。ロールバックの場合、TransactionException がスローされます。
status
- 関連するトランザクションステータス null
TransactionTemplate.execute(org.springframework.transaction.support.TransactionCallback<T>)
, CallbackPreferringPlatformTransactionManager.execute(org.springframework.transaction.TransactionDefinition, org.springframework.transaction.support.TransactionCallback<T>)