Version Number パターンによる排他制御
Java, Seasar, SQL
http://d.hatena.ne.jp/r_ikeda/20090206/version
排他制御の実装パターンに Version Number パターンというものがある。
テーブルに INT 型の version_no というカラムを用意する。
UPDATE 時に version_no をインクリメントする。
UPDATE 時の WHERE 条件に version_no を追加する。
UPDATE dept
SET dept_no = ?, dept_name = ?, loc = ?, version_no = version_no + 1
WHERE id = ? AND version_no = ?
statement = connection.prepareStatement(UPDATE_SQL);
statement.setInt(1, dept.getDeptNo());
statement.setString(2, dept.getDeptName());
statement.setString(3, dept.getLoc());
statement.setInt(4, dept.getId());
statement.setInt(5, dept.getVersionNo());
これで自分以外の誰かが更新していた場合に version_no が合わない状態になるため、更新されない。S2Dao では自動でこれをやってくれる。
ブログ アーカイブ
-
▼
2009
(28)
-
▼
8月
(28)
- JavaScript와 Ajax를 이용한 비동기식
- link
- タグファイル
- [DB]ナチャラルキー(自然キー)とサロゲートキー(代替キー)
- Version Number パターンによる排他制御
- [S2JDBC]排他制御について
- jquery - iframe
- jdk api window help file format
- Javaの理論と実践: 並行コレクション・クラス
- Tigerでのアノテーション 第1回: Javaコードにメタデータを追加する
- 実用的なXML: Java NIOへの取り組み バッファーおよびチャネルに寄り道する方法
- java.io VS java.nio
- XLSBeansExcelとJavaBeansをJava 5のアノテーションでマッピングするためのラ...
- Windows XP で使用可能なショートカット キー一覧
- Windows ショートカットキー
- 「設計書(Excelブック形式)からソースコードを自動生成」してしまう「blanco Framewo...
- Trac
- struts menuを利用したサンプルリンク集
- 개발 환경 구축 pukiwiki
- pukiwiki intall 1 - php + apache + mysql setup
- pukiwiki
- maven setup
- maven setup
- 第3回Seasar勉強会
- OGNL
- JSON-libでXMLのJSON化
- アノテーションのアノテーション
- s2strutsとsastrutsの違い
-
▼
8月
(28)
マイブログ リスト

Jang ki hote
0 件のコメント:
コメントを投稿