[Seasar-user:4148] Re: Timestampを使った排他制御のセットする時間について

kubo [E-MAIL ADDRESS DELETED]
2006年 7月 23日 (日) 23:30:24 JST


久保です。

> S2DaoのTimestampを使った排他制御についてですが、
> S2Dao側で、Timestampをセットして、
> DBに書き込んでいると思うのですが、
> これをDB側での時間をセットすることは可能でしょうか。

自分コミッタではないですが、以前同じ様なことを聞いたことがあります。
結論から言うと、現時点ではできないです(はず)。{S2Dao-1.0.35}

AbstractAutoHandler.setupInsertBindVariables();
AbstractAutoHandler.setupUpdateBindVariables();

にて、以下のような実装になっているため、

setTimestamp(new Timestamp(new Date().getTime()));

必ずApplicationの現在時刻が利用されると思われます。


もし、独自拡張で対応するとしても

これを、差し替えて外部から取得するようにするためには、
「どこから取得するのか?」っていう仕様決め(割り切り)を
しなければならないように思えます。
また、sysdateやgetdate()などを(直接)利用するとなると、
SQL文を作るときのBind変数周りのLogicに変更を入れなけ
ればならないのと、DBによって現在時刻を取得する関数の違い
を管理しなければならないので、結構大変かもしれません。


-- 
kubo <[E-MAIL ADDRESS DELETED]>





Seasar-user メーリングリストの案内