HibernateベースのDAOを作った場合に、トランザクション処理をどのように記述するかが問題になることがあります。
たとえば下記のような二つのテーブル
に対してそれぞれMemberDAOとWorkGroupDAOを作ると思います。さらにそのDAOを使用するビジネスメソッド、たとえば
なんてのが定義されると思います。
このとき、ある処理の場合はメソッド単位でトランザクション管理し、ほかの処理の場合は複数のメソッドにまたがってトランザクション管理したい場合があります。上の例だと、
とした場合、
となります。二つめの例を考えるとaddMember内でトランザクション開始と終了の処理をしちゃうとまずいわけですね。Springではこの辺を、トランザクション処理を宣言的に記述することで解決しています。
ところで今回考えるクラス群の全体像は以下の通りです。
BLのビジネスメソッドに対してトランザクション処理を宣言的に追加することができます。
この記事は
現在のアクセス:8134