Annotation Interface Rollback


@Retention(RUNTIME) @Target({TYPE,METHOD}) public @interface Rollback

テスト実施時のトランザクションをロールバックするように指定します。 クラス、メソッドに指定可能です。

注意

Rollbackを指定した場合、 EntityにAutoNumber型(飛び番を許容する)が定義されていて、 そのEntityを複数件登録しようとした場合、重複エラーが発生する可能性があります。 これは、AutoNumber型(飛び番を許容する)を設定された場合は、 採番を別トランザクションで起動しますが、その採番値のインクリメント自体がロールバックされてしまい、 再度採番された場合に同一値が採番されてしまう為です。
この場合は、Rollbackの使用はできません。
同様に、テストコード中に別トランザクションを起動し、その別トランザクション結果によって、 後続処理を行うようなテストコードでもRollbackの使用はできません。