Spring Transaction
概要
概要
Spring Transactionは、DBのトランザクション管理機能を提供します。
一般に、トランザクションの管理は意外と難しい問題です。
例えば、複数のビジネスロジックのメソッドを呼ぼうとしたとき、1つのトランザクションで管理しようと思うと大変です。
なぜならメソッド間で同じConnectionオブジェクトを共有しなければ、1つのトランザクションでcommit/rollbackできないからです。
このため、Connectionオブジェクトをビジネスロジックのメソッドの引数として渡す、ということを考えがちです。
しかしこれは良いアイデアではありません。
そもそもビジネスロジックでDBの処理を考えなくても良いようにDAOを作っているはずです。
でも、このアイデアではビジネスロジックで思いっきりDBの処理(commit/rollback)をすることになります。
つまり、DBを隠蔽化できなくなってしまうのです。
かといって他に方法がぱっとは思いつきません。
このように、トランザクション管理の問題は意外と面倒な問題なのです。
Spring Transactionを使用すると、設定のみでこの問題を解決することもできます。
やり方はいくつかありますので、以下に紹介していきます。
Created Date: 2011/01/31