JTSのところでトランザクションについて考える。
一般的なDBのisolationレベルはREAD COMMITTEDだということだが、その場合の問題点はnon repertable readではなく、更新・削除などで排他ロックされているデータを読むことが出来ない点にあると思う。
Oracleに関してはREAD COMMITTEDの時もロックされているデータのCOMMIT前のデータを読むことが出来るので問題ない。ロックされているデータを読みたくないのであれば、SELECT FOR UPDATEを使えばいいだけのことである。この辺Oracleはリソースを食うだけあって同時実行性が高いといえる。
逆にOracleしか使ってないと他のDB使ったときにハマりやすい部分でもあるが…。
EJB+J2EE入門―JBossとStrutsで作るWebアプリケーション (Java WORLD BOOKS)
- 作者: 吉川和巳
- 出版社/メーカー: IDGジャパン
- 発売日: 2003/10
- メディア: 単行本
- 購入: 1人 クリック: 18回
- この商品を含むブログ (13件) を見る
ちなみにこの本はJNDI,JTS,JTA,JAASなどJ2EEでは脇役の技術をちゃんと取り上げている(たぶん)日本では唯一の書籍である。