public interface TransactionStatus extends SavepointManager, FlushableSE
トランザクションコードはこれを使用して、ステータス情報を取得し、プログラムでロールバックをリクエストします(暗黙的なロールバックを引き起こす例外をスローする代わりに)。
セーブポイント管理機能へのアクセスを提供する SavepointManager
インターフェースが含まれています。セーブポイント管理は、基礎となるトランザクションマネージャーでサポートされている場合にのみ利用可能です。
修飾子と型 | メソッドと説明 |
---|---|
void | flush() 該当する場合、基礎となるセッションをデータストアにフラッシュします。たとえば、影響を受けるすべての Hibernate/JPA セッション。 |
boolean | hasSavepoint() このトランザクションが内部的にセーブポイントを保持しているかどうか、つまり、セーブポイントに基づいてネストされたトランザクションとして作成されたかどうかを返します。 |
boolean | isCompleted() このトランザクションが完了したかどうか、つまり、すでにコミットまたはロールバックされているかどうかを返します。 |
boolean | isNewTransaction() 現在のトランザクションが新しいかどうかを返します。それ以外の場合は、既存のトランザクションに参加しているか、最初の実際のトランザクションで実行されていない可能性があります。 |
boolean | isRollbackOnly() トランザクションが(アプリケーションまたはトランザクションインフラストラクチャによって)ロールバックのみとしてマークされているかどうかを返します。 |
void | setRollbackOnly() トランザクションをロールバックのみに設定します。 |
createSavepoint, releaseSavepoint, rollbackToSavepoint
boolean isNewTransaction()
boolean hasSavepoint()
この方法は、主に診断目的で、isNewTransaction()
と一緒に使用されます。カスタムセーブポイントをプログラムで処理するには、SavepointManager
が提供する操作を使用します。
void setRollbackOnly()
これは主に、実際のコミット / ロールバックの決定がコンテナーによって行われる TransactionTemplate
または TransactionInterceptor
によって管理されるトランザクションを対象としています。
boolean isRollbackOnly()
void flush()
これは事実上単なるヒントであり、基礎となるトランザクションマネージャーにフラッシュの概念がない場合は何もしないことがあります。フラッシュシグナルは、基礎となるリソースに応じて、プライマリリソースまたはトランザクション同期に適用される場合があります。
FlushableSE
の flushSE
boolean isCompleted()