|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectorg.seasar.doma.jdbc.tx.LocalTransaction
public final class LocalTransaction
ローカルトランザクションです。
このクラスはスレッドセーフです。
begin()
もしくは begin(TransactionIsolationLevel)
でトランザクションを開始した後、トランザクションは必ず commit()
もしくは rollback()
で終了してください。 rollback()
は、begin()
が成功する前や commit()
が成功した後に呼び出された場合、実質的には何も行いません。したがって、次のように記述できます。
LocalTransaction tx = AppConfig.getLocalTransaction(); try { // 開始 tx.begin(); Employee employee = dao.selectById(1); employee.setName("hoge"); employee.setJobType(JobType.PRESIDENT); dao.update(employee); // コミット tx.commit(); } finally { // ロールバック tx.rollback(); }トランザクションを終了した後、 同じインスタンスに対して
begin()
もしくは
begin(TransactionIsolationLevel)
を呼び出した場合、新しいトランザクションを開始できます。
LocalTransaction tx = AppConfig.getLocalTransaction(); try { // トランザクションAの開始 tx.begin(); ... tx.commit(); } finally { tx.rollback(); } try { // トランザクションBの開始 tx.begin(); ... tx.commit(); } finally { tx.rollback(); }トランザクション開始後、このクラスのいずれかのメソッドが例外をスローした場合、 トランザクションは直ちにロールバックされます。
メソッドの概要 | |
---|---|
void |
begin()
ローカルトランザクションを開始します。 |
void |
begin(TransactionIsolationLevel transactionIsolationLevel)
トランザクション分離レベルを指定してローカルトランザクションを開始します。 |
void |
commit()
ローカルトランザクションをコミットします。 |
boolean |
hasSavepoint(String savepointName)
このローカルトランザクションでセーブポイントを保持しているかどうかを返します。 |
boolean |
isActive()
ローカルトランザクションがアクティブな場合 true を返します。 |
void |
releaseSavepoint(String savepointName)
ローカルトランザクションから指定されたセーブポイントと以降のセーブポイントを削除します。 |
void |
rollback()
ローカルトランザクションをロールバックします。 |
void |
rollback(String savepointName)
指定されたセーブポイントが設定されたあとに行われたすべての変更をロールバックします。 |
void |
setSavepoint(String savepointName)
ローカルトランザクションのセーブポイントを作成します。 |
String |
toString()
トランザクションを識別するための文字列表現を返します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
メソッドの詳細 |
---|
public void begin()
このメソッドを呼び出した場合、commit()
もしくは rollback()
を呼び出し、ローカルトランザクションを終了する必要があります。同一スレッド内であれば、 異なるインスタンスの commit()
もしくは rollback()
でも構いません。
LocalTransactionAlreadyBegunException
- ローカルトランザクションがすでに開始されている場合
JdbcException
- トランザクションの開始に失敗した場合public void begin(TransactionIsolationLevel transactionIsolationLevel)
このメソッドを呼び出した場合、commit()
もしくは rollback()
を呼び出し、ローカルトランザクションを終了する必要があります。同一スレッド内であれば、 異なるインスタンスの commit()
もしくは rollback()
でも構いません。
transactionIsolationLevel
- トランザクション分離レベル
DomaNullPointerException
- 引数が null
の場合
LocalTransactionAlreadyBegunException
- ローカルトランザクションがすでに開始されている場合
JdbcException
- トランザクションの開始に失敗した場合public void commit()
このメソッドを呼び出す前に begin()
または
begin(TransactionIsolationLevel)
を呼び出し、ローカルトランザクションを開始しておく必要があります。 同一スレッド内であれば、 異なるインスタンスの
begin()
または begin(TransactionIsolationLevel)
でも構いません。
LocalTransactionNotYetBegunException
- ローカルトランザクションがまだ開始されていない場合
JdbcException
- コミットに失敗した場合public void rollback()
ローカルトランザクションが開始されていない場合、何もおこないません。
このメソッドは、例外をスローしません。
public void setSavepoint(String savepointName)
このメソッドを呼び出す前に begin()
または
begin(TransactionIsolationLevel)
を呼び出し、ローカルトランザクションを開始しておく必要があります。 同一スレッド内であれば、 異なるインスタンスの
begin()
または begin(TransactionIsolationLevel)
でも構いません。
savepointName
- セーブポイントの名前
DomaNullPointerException
- 引数が null
の場合
LocalTransactionNotYetBegunException
- ローカルトランザクションがまだ開始されていない場合
SavepointAleadyExistsException
- セーブポイントがすでに存在する場合
JdbcException
- セーブポイントの作成に失敗した場合public boolean hasSavepoint(String savepointName)
savepointName
- セーブポイントの名前
ture
DomaNullPointerException
- 引数が null
の場合
LocalTransactionNotYetBegunException
- ローカルトランザクションがまだ開始されていない場合public void releaseSavepoint(String savepointName)
このメソッドを呼び出す前に begin()
または
begin(TransactionIsolationLevel)
を呼び出し、ローカルトランザクションを開始しておく必要があります。 同一スレッド内であれば、 異なるインスタンスの
begin()
または begin(TransactionIsolationLevel)
でも構いません。
savepointName
- セーブポイントの名前
DomaNullPointerException
- 引数が null
の場合
LocalTransactionNotYetBegunException
- ローカルトランザクションがまだ開始されていない場合
JdbcException
- セーブポイントの削除に失敗した場合public void rollback(String savepointName)
このメソッドを呼び出す前に begin()
または
begin(TransactionIsolationLevel)
を呼び出し、ローカルトランザクションを開始しておく必要があります。 同一スレッド内であれば、 異なるインスタンスの
begin()
または begin(TransactionIsolationLevel)
でも構いません。
savepointName
- セーブポイントの名前
DomaNullPointerException
- 引数が null
の場合
SavepointNotFoundException
- セーブポイントが見つからない場合
LocalTransactionNotYetBegunException
- ローカルトランザクションがまだ開始されていない場合
JdbcException
- セーブポイントへのロールバックに失敗した場合public boolean isActive()
true
を返します。
true
public String toString()
Object
内の toString
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |