Hibernate/Springを使ってトランザクション処理を記述する(古い)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
#contents
**Hibernateとトランザクション管理に関する課題 [#se9f327a]
HibernateベースのDAOを作った場合に、トランザクション処理...
たとえば下記のような二つのテーブル
#ref(schema.png)
に対してそれぞれMemberDAOとWorkGroupDAOを作ると思います。...
#ref(bl.png)
なんてのが定義されると思います。
このとき、ある処理の場合はメソッド単位でトランザクション...
-addMemberはMemberを登録する
-addGroupはWorkGroupを登録する
-addはMemberをGroupに追加する。引数のメンバーがいなかった...
とした場合、
-メンバーを登録しようとしてaddMemberを呼び出した場合は、a...
-add内でサブルーチン(<-古っ)としてaddMemberが呼ばれる場合...
となります。一つめの例だとaddMember内でトランザクションの...
この辺を考えるために具体例で行きます。今回考えるクラス群...
#ref(class.png)
またトランザクション処理を考慮しない状態のSpringの設定は...
#ref(bean.png)
#ref(bean2.png)
**Springを使ってトランザクション処理を記述する [#la131913]
さて、SpringではBLのビジネスメソッドに対してトランザクシ...
まず、BLの名前をuserManagerBLからuserManagerBLTargetに変...
そのProxyのタグ付けですが、トランザクション設定や、ターゲ...
さて処理の流れですが、実際BLを使うプログラムはuserManager...
BLを使うプログラム -> userManagerBL
だったのが
BLを使うプログラム -> userManagerBL -> userManagerBLTarget
となります。
外部から見たら見た目は同じだけど、実際のBLの間に別のクラ...
#ref(after.png)
間に挟まれたPOJOは以下のようにSpringでInjectionされていま...
<bean id="userManagerBL"
class="org.springframework.transaction.interceptor.Tra...
<property name="transactionManager">
<ref local="transactionManager" />
</property>
<property name="target"> ↓ターゲットにするPOJOを指定
<ref bean="userManagerBLTarget" />
</property>
<property name="transactionAttributes">
<props> ↓POJOのメソッドに対してトランザクションの...
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
----
この記事は
#vote(おもしろかった[3],そうでもない[0])
-なんか、想定通りにうごかねえなあと思ってたのですが、Linu...
-MySQLのトランザクションが開かれたとき、 org.hibernate.tr...
-まとめると、こんな感じ。基本的にMySQLはトランザクション...
-書き途中で、じかんがないっ -- [[きの]] &new{2006-07-20 2...
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
終了行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
#contents
**Hibernateとトランザクション管理に関する課題 [#se9f327a]
HibernateベースのDAOを作った場合に、トランザクション処理...
たとえば下記のような二つのテーブル
#ref(schema.png)
に対してそれぞれMemberDAOとWorkGroupDAOを作ると思います。...
#ref(bl.png)
なんてのが定義されると思います。
このとき、ある処理の場合はメソッド単位でトランザクション...
-addMemberはMemberを登録する
-addGroupはWorkGroupを登録する
-addはMemberをGroupに追加する。引数のメンバーがいなかった...
とした場合、
-メンバーを登録しようとしてaddMemberを呼び出した場合は、a...
-add内でサブルーチン(<-古っ)としてaddMemberが呼ばれる場合...
となります。一つめの例だとaddMember内でトランザクションの...
この辺を考えるために具体例で行きます。今回考えるクラス群...
#ref(class.png)
またトランザクション処理を考慮しない状態のSpringの設定は...
#ref(bean.png)
#ref(bean2.png)
**Springを使ってトランザクション処理を記述する [#la131913]
さて、SpringではBLのビジネスメソッドに対してトランザクシ...
まず、BLの名前をuserManagerBLからuserManagerBLTargetに変...
そのProxyのタグ付けですが、トランザクション設定や、ターゲ...
さて処理の流れですが、実際BLを使うプログラムはuserManager...
BLを使うプログラム -> userManagerBL
だったのが
BLを使うプログラム -> userManagerBL -> userManagerBLTarget
となります。
外部から見たら見た目は同じだけど、実際のBLの間に別のクラ...
#ref(after.png)
間に挟まれたPOJOは以下のようにSpringでInjectionされていま...
<bean id="userManagerBL"
class="org.springframework.transaction.interceptor.Tra...
<property name="transactionManager">
<ref local="transactionManager" />
</property>
<property name="target"> ↓ターゲットにするPOJOを指定
<ref bean="userManagerBLTarget" />
</property>
<property name="transactionAttributes">
<props> ↓POJOのメソッドに対してトランザクションの...
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
----
この記事は
#vote(おもしろかった[3],そうでもない[0])
-なんか、想定通りにうごかねえなあと思ってたのですが、Linu...
-MySQLのトランザクションが開かれたとき、 org.hibernate.tr...
-まとめると、こんな感じ。基本的にMySQLはトランザクション...
-書き途中で、じかんがないっ -- [[きの]] &new{2006-07-20 2...
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
ページ名: