列挙型クラス SqlConfig.TransactionMode
java.lang.ObjectSE
java.lang.EnumSE<SqlConfig.TransactionMode>
org.springframework.test.context.jdbc.SqlConfig.TransactionMode
- 実装されたすべてのインターフェース:
SerializableSE
、ComparableSE<SqlConfig.TransactionMode>
、ConstableSE
- 含まれているクラス:
- SqlConfig
SQL スクリプトをトランザクション内で実行する必要があるかどうか、およびトランザクションの伝播動作を指定するモードの列挙。
ネストされたクラスのサマリー
クラス java.lang.EnumSE から継承されたネストクラス / インターフェース
Enum.EnumDescSE<ESE extends EnumSE<ESE>>
列挙定数のサマリー
方法の概要
修飾子と型メソッド説明static SqlConfig.TransactionMode
指定された名前でこのクラスの列挙型定数を返します。static SqlConfig.TransactionMode[]
values()
この列挙型クラスの定数を含む配列を、宣言されている順序で返します。クラス java.lang.EnumSE から継承されたメソッド
clone, compareToSE, describeConstable, equalsSE, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOfSE
列挙型定数の詳細
DEFAULT
INFERRED
SQL スクリプトの実行時に使用するトランザクションモードは、以下にリストされているルールを使用して推論する必要があることを示します。これらのルールのコンテキストでは、「利用可能」という用語は、データソースまたはトランザクションマネージャーの Bean が@SqlConfig
の対応するアノテーション属性を介して明示的に指定されるか、規約を介して検出可能であることを意味します。ApplicationContext
でそのような Bean を検出するために使用される規則の詳細については、TestContextTransactionUtils
を参照してください。Inference Rules
- トランザクションマネージャーもデータソースも使用できない場合、例外がスローされます。
- トランザクションマネージャーは利用できないがデータソースは利用できる場合、SQL スクリプトはトランザクションなしでデータソースに対して直接実行されます。
- トランザクションマネージャーが利用可能な場合:
- データソースが使用できない場合、リフレクションを使用してトランザクションマネージャーで
getDataSource()
という名前の public メソッドを呼び出すことにより、トランザクションマネージャーからデータソースを取得しようとします。試行が失敗すると、例外がスローされます。 - 解決されたトランザクションマネージャーとデータソースを使用して、SQL スクリプトは既存のトランザクションが存在する場合は実行されます。そうでない場合、スクリプトは新しいトランザクションで実行され、すぐにコミットされます。通常、既存のトランザクションは
TransactionalTestExecutionListener
によって管理されます。
- データソースが使用できない場合、リフレクションを使用してトランザクションマネージャーで
ISOLATED
SQL スクリプトは、すぐにコミットされる新しい分離されたトランザクションで常に実行される必要があることを示します。INFERRED
とは対照的に、このモードではトランザクションマネージャーと データソースの存在が必要です。
メソッドの詳細
values
この列挙型クラスの定数を含む配列を、宣言されている順序で返します。- 戻り値:
- この列挙型クラスの定数を宣言された順序で含む配列
valueOf
指定された名前でこのクラスの列挙型定数を返します。文字列は、このクラスで列挙型定数を宣言するために使用される識別子と正確に一致する必要があります。(余分な空白文字は許可されません。)- パラメーター:
name
- 返される列挙定数の名前。- 戻り値:
- 指定された名前の列挙定数
- 例外:
IllegalArgumentExceptionSE
- この列挙型クラスに指定された名前の定数がない場合NullPointerExceptionSE
- 引数が null の場合