今回は、Transactionalあのターションの使用の上、注意点をメモしていきたいと思います。
@Transactionalとは
例外が起こった時に自動でロールバックしてくれる便利なアノテーションで、ビジネスロジック層でよく使われるアノテーションです。
今回わかった注意点
Transactionalアノテーションに属性を指定していなければ「RuntaimeException」時にロールバックしてくれます。
それ以外の例外に対してはロールバックしてくれません。
@Transactional
public void registSome() {}
「RuntaimeException」以外の例外に対してもロールバックさせるためには「rollbackFor」属性を使い、カスタマイズができます。
@Transactional(rollbackFor = SqlException.class)
public void registSome() {}
上記のように属性を指定することで「SQLException」が発生した時もロールバックさせることができます。
終わりに
rollbackFor属性にException.classを指定することもできますが、これは全ての例外に対してロールバックさせるということになります。
Transactionalアノテーションについては他の記事でも書いたことがあるので、今回は知らなかったところだけメモしてみました。
