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