「アノテーションについて」の編集履歴(バックアップ)一覧に戻る

アノテーションについて - (2010/01/06 (水) 12:55:24) の編集履歴(バックアップ)


@Transactional

このアノテーションは、インタフェース、クラス、あるいはメソッドがトランザクションであることを指定する。デフォルトのトランザクションセマンティクスは、read/write、PROPAGATION_REQUIRED、ISOLATION_DEFAULT、TIMEOUT_DEFAULTで、ExceptionではなくRuntimeException発生時にロールバックするというものである。

アノテーションのオプションのプロパティを使えばトランザクションの設定を変更することができる。 あああ

プロパティ 説明
propagation enum: Propagation オプションのプロパゲーション設定(デフォルトは、PROPAGATION_REQUIRED)
isolation enum: Isolation オプションのアイソレーションレベル(デフォルトはISOLATION_DEFAULT)
readOnly boolean read/writeあるいはリードオンリートランザクション(デフォルトはfalseもしくはread/write)
rollbackFor Classオブジェクトの配列。Trowableからの派生クラスであること。 オプションで指定する、発生したときにロールバックする例外クラスの配列。デフォルトでは、チェック済みの例外ではロールバックせず、未チェックの(RuntimeExceptionから派生した)例外の場合にロールバック
rollbackForClassname クラス名文字列の配列。クラスは、Trowableの派生であること。 オプションで指定する、発生したときにロールバックさせる例外クラスの名前の配列
noRollbackFor Classオブジェクトの配列。Trowableからの派生であること。 オプションで指定するロールバックさせない例外クラスの配列。
noRollbackForClassname クラス名文字列の配列。Trowableからの派生であること。 オプションで指定する、発生したときにロールバックさせない例外のクラス名の配列。