インターフェース TransactionOperations
- すべての既知の実装クラス:
TransactionTemplate
public interface TransactionOperations
基本的なトランザクション実行操作を指定するインターフェース。
TransactionTemplate によって実装されます。直接使用されることはあまりありませんが、簡単にモックまたはスタブ化できるため、テスト容易性を高める便利なオプションです。- 導入:
- 2.0.4
- 作成者:
- Juergen Hoeller
メソッドのサマリー
修飾子と型メソッド説明<T> Texecute(TransactionCallback<T> action) トランザクション内で、指定されたコールバックオブジェクトによって指定されたアクションを実行します。default voidトランザクション内で、指定されたRunnableSE によって指定されたアクションを実行します。static TransactionOperations実際のトランザクションなしで特定のTransactionCallbackを実行するTransactionOperationsインターフェースの実装を返します。
メソッドの詳細
execute
トランザクション内で、指定されたコールバックオブジェクトによって指定されたアクションを実行します。トランザクション内で作成された結果オブジェクト、つまりドメインオブジェクトまたはドメインオブジェクトのコレクションを返すことができます。コールバックによってスローされた RuntimeException は、ロールバックを強制する致命的な例外として扱われます。このような例外は、テンプレートの呼び出し元に伝播されます。
- パラメーター:
action- トランザクションアクションを指定するコールバックオブジェクト- 戻り値:
- コールバックによって返された結果オブジェクト。ない場合は
null - 例外:
TransactionException- 初期化、ロールバック、システムエラーの場合RuntimeExceptionSE- TransactionCallback によってスローされた場合- 関連事項:
executeWithoutResult
トランザクション内で、指定されたRunnableSE によって指定されたアクションを実行します。コールバックからオブジェクトを返す必要がある場合、またはコールバック内から
TransactionStatusにアクセスする必要がある場合は、代わりにexecute(TransactionCallback)を使用してください。このバリアントは、
TransactionCallbackWithoutResultの使用に似ていますが、一般的な場合に簡略化された署名を使用し、Java 8 ラムダ式で便利に使用できます。- パラメーター:
action- トランザクションアクションを指定する Runnable- 例外:
TransactionException- 初期化、ロールバック、システムエラーの場合RuntimeExceptionSE- Runnable によってスローされた場合- 導入:
- 5.2
- 関連事項:
withoutTransaction
実際のトランザクションなしで特定のTransactionCallbackを実行するTransactionOperationsインターフェースの実装を返します。テストに便利: この動作は、実際のトランザクションなし(PROPAGATION_SUPPORTS)および同期なし(SYNCHRONIZATION_NEVER)のトランザクションマネージャーで実行するのと同じです。
実際のトランザクション処理を伴う
TransactionOperations実装の場合、TransactionTemplateを適切なPlatformTransactionManagerとともに使用します。