S2JDBCで一部の処理だけ別トランザクションにしたい場合の注意点

どんなシチュエーションで使うのか

  • バッチ処理でログをDBに書き込んでいるケースなどでログは残したいけど、失敗した場合にトランザクションはロールバックしたいとか。

どうすればできるのか

  • 別トランザクションにしたいメソッドまたはクラスに
    @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
    アノテーションをつければOK

注意点

私の環境では、メソッドにこのアノテーションをつけた場合に
メソッドがpublicでないと トランザクション境界にならなかった!