@Transactionalの注意点メモ

今回は、Transactionalあのターションの使用の上、注意点をメモしていきたいと思います。

@Transactionalとは

例外が起こった時に自動でロールバックしてくれる便利なアノテーションで、ビジネスロジック層でよく使われるアノテーションです。

今回わかった注意点

Transactionalアノテーションに属性を指定していなければ「RuntaimeException」時にロールバックしてくれます。

それ以外の例外に対してはロールバックしてくれません。

@Transactional
public void registSome() {}

「RuntaimeException」以外の例外に対してもロールバックさせるためには「rollbackFor」属性を使い、カスタマイズができます。

@Transactional(rollbackFor = SqlException.class)
public void registSome() {}

上記のように属性を指定することで「SQLException」が発生した時もロールバックさせることができます。

終わりに

rollbackFor属性にException.classを指定することもできますが、これは全ての例外に対してロールバックさせるということになります。

Transactionalアノテーションについては他の記事でも書いたことがあるので、今回は知らなかったところだけメモしてみました。

コメントを残す