インターフェース TransactionOperations

すべての既知の実装クラス:
TransactionTemplate

public interface TransactionOperations
基本的なトランザクション実行操作を指定するインターフェース。TransactionTemplate によって実装されます。直接使用されることはあまりありませんが、簡単にモックまたはスタブ化できるため、テスト容易性を高める便利なオプションです。
導入:
2.0.4
作成者:
Juergen Hoeller
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    <T> T
    トランザクション内で、指定されたコールバックオブジェクトによって指定されたアクションを実行します。
    default void
    トランザクション内で、指定された RunnableSE によって指定されたアクションを実行します。
    実際のトランザクションなしで特定の TransactionCallback を実行する TransactionOperations インターフェースの実装を返します。
  • メソッドの詳細

    • execute

      @Nullable <T> T execute(TransactionCallback<T> action) throws TransactionException
      トランザクション内で、指定されたコールバックオブジェクトによって指定されたアクションを実行します。

      トランザクション内で作成された結果オブジェクト、つまりドメインオブジェクトまたはドメインオブジェクトのコレクションを返すことができます。コールバックによってスローされた RuntimeException は、ロールバックを強制する致命的な例外として扱われます。このような例外は、テンプレートの呼び出し元に伝播されます。

      パラメーター:
      action - トランザクションアクションを指定するコールバックオブジェクト
      戻り値:
      コールバックによって返された結果オブジェクト。ない場合は null 
      例外:
      TransactionException - 初期化、ロールバック、システムエラーの場合
      RuntimeExceptionSE - TransactionCallback によってスローされた場合
      関連事項:
    • executeWithoutResult

      default void executeWithoutResult(ConsumerSE<TransactionStatus> action) throws TransactionException
      トランザクション内で、指定された RunnableSE によって指定されたアクションを実行します。

      コールバックからオブジェクトを返す必要がある場合、またはコールバック内から TransactionStatus にアクセスする必要がある場合は、代わりに execute(TransactionCallback) を使用してください。

      このバリアントは、TransactionCallbackWithoutResult の使用に似ていますが、一般的な場合に簡略化された署名を使用し、Java 8 ラムダ式で便利に使用できます。

      パラメーター:
      action - トランザクションアクションを指定する Runnable
      例外:
      TransactionException - 初期化、ロールバック、システムエラーの場合
      RuntimeExceptionSE - Runnable によってスローされた場合
      導入:
      5.2
      関連事項:
    • withoutTransaction

      static TransactionOperations withoutTransaction()
      実際のトランザクションなしで特定の TransactionCallback を実行する TransactionOperations インターフェースの実装を返します。

      テストに便利: この動作は、実際のトランザクションなし(PROPAGATION_SUPPORTS)および同期なし(SYNCHRONIZATION_NEVER)のトランザクションマネージャーで実行するのと同じです。

      実際のトランザクション処理を伴う TransactionOperations 実装の場合、TransactionTemplate を適切な PlatformTransactionManager とともに使用します。

      導入:
      5.2
      関連事項: