2007-09-25

Webの更新衝突検知

Webシステムははステートレスなので更新衝突検知は更新日時とかでやるしかないわけで。

今使ってるDAOには検知機能があるっぽいので使ってみる。更新日時にNULLが入ってるケースで失敗。ライブラリをデコンパイルしてみると、

if (detectCollision) {
    sql.append(columnName).append("=?");
}

みたいな。NULLだと「updated_at = NULL」みたいな条件になっちゃってよろしくない。つか、PreparedStatementが「updated_at = ?」を「updated_at IS NULL」みたいにしてくれると嬉しかったんだが。

んじゃ、そこんとこでnull判定して条件作っちゃえばいいじゃん、って思ったが、自社製ライブラリのくせして、ソースもないし、いじっちゃだめっぽい。そこだけフックできるような書き方も当然していない。

結局、下位クラスでそこのメソッドをまるまるオーバーライドする羽目に。100行ほどコピペして数行を修正。これをDAOごとにやらなければならない。

あほらしすぎる。

Tags: Java 仕事

«前の日記(2007-09-23) 最新 次の日記(2007-09-26)»

2007年
9月
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30