public interface Transaction
トランザクションを表すインタフェースです。
トランザクションを制御するためのメソッドを持っています。
EntityManager em = ...
Entity e = ...
//新規にトランザクションを起動
Transaction.requiresNew(t -> {
em.insert(e);
//コミット成功時に実行する処理を追加
t.afterCommit(() -> {
System.out.println("committed");
});
:
:
});
| 修飾子とタイプ | フィールドと説明 |
|---|---|
static Transaction |
NO_TRANSACTION
トランザクションがない状態を表すTransactionのインスタンスです。
|
| 修飾子とタイプ | メソッドと説明 |
|---|---|
void |
addTransactionListener(TransactionListener listener)
このトランザクションのcommit、rollbackを監視するリスナーを登録します。
|
default void |
afterCommit(java.lang.Runnable func)
このトランザクションがcommitされた場合、funcを実行します。
|
default void |
afterRollback(java.lang.Runnable func)
このトランザクションがrollbackされた場合、funcを実行します。
|
void |
commit()
トランザクションをコミットします。
|
java.lang.Object |
getAttribute(java.lang.Object key)
このトランザクションコンテキストに紐づけられている特定の属性を取得します。
|
static Transaction |
getCurrent()
現在の実行コンテキストに関連しているトランザクションのインスタンスを取得します。
|
TransactionStatus |
getStatus()
トランザクションの状態を取得します。
|
boolean |
isReadOnly()
このトランザクションがReadOnlyとしてマークされているかどうかを取得します。
|
boolean |
isRollbackOnly()
このトランザクションがsetRollbackOnlyされているかどうかを取得します。
|
static void |
readOnly(java.util.function.Consumer<Transaction> func)
トランザクションをreadOnlyモードで起動します。
|
static <R> R |
readOnly(java.util.function.Function<Transaction,R> func)
トランザクションをreadOnlyモードで起動します。
|
java.lang.Object |
removeAttribute(java.lang.Object key)
このトランザクションコンテキストに紐づけられている特定の属性を削除します。
|
static void |
required(java.util.function.Consumer<Transaction> func)
トランザクションが開始していない場合はトランザクションを起動し、funcを実行します。
|
static <R> R |
required(java.util.function.Function<Transaction,R> func)
トランザクションが開始していない場合はトランザクションを起動し、funcを実行します。
|
static void |
requiresNew(java.util.function.Consumer<Transaction> func)
新規にトランザクションを起動し、funcを実行します。
|
static <R> R |
requiresNew(java.util.function.Function<Transaction,R> func)
新規にトランザクションを起動し、funcを実行します。
|
void |
rollback()
トランザクションをロールバックします。
|
void |
setAttribute(java.lang.Object key,
java.lang.Object value)
このトランザクションのコンテキストに特定の属性を紐づけます。
|
void |
setRollbackOnly()
このトランザクションをロールバックするものとしてマークします。
|
static void |
with(Propagation propagation,
java.util.function.Consumer<Transaction> func)
指定のpropagationで、トランザクションを起動しfuncを実行します。
|
static <R> R |
with(Propagation propagation,
java.util.function.Function<Transaction,R> func)
指定のpropagationで、トランザクションを起動しfuncを実行します。
|
static void |
with(TransactionOption option,
java.util.function.Consumer<Transaction> func)
指定のoptionで、トランザクションを起動しfuncを実行します。
|
static <R> R |
with(TransactionOption option,
java.util.function.Function<Transaction,R> func)
指定のoptionで、トランザクションを起動しfuncを実行します。
|
static final Transaction NO_TRANSACTION
getStatus()は常にTransactionStatus.NONEを返します。setAttribute(Object, Object)などのその他のトランザクション制御メソッドはなにも処理しません。static Transaction getCurrent()
NO_TRANSACTIONが返却されます。void commit()
void rollback()
void setRollbackOnly()
boolean isRollbackOnly()
boolean isReadOnly()
TransactionStatus getStatus()
void setAttribute(java.lang.Object key,
java.lang.Object value)
key - 属性のキーvalue - 属性の値java.lang.Object getAttribute(java.lang.Object key)
key - 属性のキーjava.lang.Object removeAttribute(java.lang.Object key)
key - 属性のキーvoid addTransactionListener(TransactionListener listener)
listener - default void afterCommit(java.lang.Runnable func)
func - default void afterRollback(java.lang.Runnable func)
func - static void required(java.util.function.Consumer<Transaction> func)
TransactionOptionのデフォルトが適用されます。func - static <R> R required(java.util.function.Function<Transaction,R> func)
TransactionOptionのデフォルトが適用されます。func - static void requiresNew(java.util.function.Consumer<Transaction> func)
TransactionOptionのデフォルトが適用されます。func - static <R> R requiresNew(java.util.function.Function<Transaction,R> func)
TransactionOptionのデフォルトが適用されます。func - static void readOnly(java.util.function.Consumer<Transaction> func)
func - static <R> R readOnly(java.util.function.Function<Transaction,R> func)
func - static void with(Propagation propagation, java.util.function.Consumer<Transaction> func)
propagation - func - static <R> R with(Propagation propagation, java.util.function.Function<Transaction,R> func)
propagation - func - static void with(TransactionOption option, java.util.function.Consumer<Transaction> func)
option - func - static <R> R with(TransactionOption option, java.util.function.Function<Transaction,R> func)
option - func -