[Seasar-user:10534] Re: [S2Dao]Timestampの排他について

Minoru Taki [E-MAIL ADDRESS DELETED]
2007年 9月 14日 (金) 17:20:46 JST


瀧です。

 お返事ありがとうございます。(JUNDUさん、本間さん)

> intとして+1しているだけですから、
> 0 → 正のMAX → 負のMAX → 0 という感じでサイクリックになる
> と思います。

 VersionNoがサイクリックになれば、心配事の一つは消えます。

 ですが、DB設計として、Timestamp→VersionNoに変更すると
 更新時刻がなくなり、データのトレーサビリティが欠けるため、
 業務データとしてUPDATE_DATEみたいな更新時刻のカラムを
 さらに追加したいなと考えますが、
 結局、そのプロパティを自動的に更新したいなと思うと、
 (排他用でなく)TIMESTAMPアノテーションを利用できないか
 と考えたりします。(Timestamp,VersionNo併用ってできます?)
#つまるところ、やっぱりNTPで同期してTIMESTAMPのみにしようかなと・・・(堂々巡り)


----- Original Message ----- 
From: "Hirotaka HONMA" <[E-MAIL ADDRESS DELETED]>
To: <[E-MAIL ADDRESS DELETED]>
Sent: Friday, September 14, 2007 4:33 PM
Subject: [Seasar-user:10532] Re: [S2Dao]Timestampの排他について


> 本間です。
> 
> on Fri, 14 Sep 2007 16:14:30 +0900
> in [Seasar-user:10530] [S2Dao]Timestampの排他について
> "Minoru Taki" <[E-MAIL ADDRESS DELETED]> wrote:
> 
>>  S2DaoのTimestampの排他でふと気付いたのですが、
>>  自動生成の更新のSQLではnew java.sql.Timestamp(long)を
>>  Beanのプロパティにセットする仕様のようですが、、
>>  これはプロセスが動作しているシステム時間を表しますよね?
> 
> はい。
> 
>>  同一サーバ内で動作しているなら問題がなさそうですが、
>>  APサーバとDBが違うサーバだったり、APサーバがクラスター構成だった場合は
>>  厳密な話でいえば完全な排他とは言えないと思います。
>> #・・・かといって、直ちに問題がでるかは別ですが。
> 
> はい。
> まあ複数台構成へ話を広げなくても、1台だけでも同一timestampは
> 起こりえますので、
> 
>>  Timestampをnewするのではなく、SQLでSYSTIMESTAMP(Oracleのみ?)を
>>  設定するのであれば問題がない気がしますが、実装できたとしても
>>  元のBeanに更新時刻を返すには、再検索せねばならないですよね?
>> 
>>  やはり、推奨されるVersionNoでの管理が良いのでしょうか?
> 
> versionNoを推奨します、となります。
> タイムスタンプをDBから取るにしても、同時だとやはり排他が効か
> ないでしょうし。
> 
> 
>> #VersionNoの場合いろいろと心配事が・・・。
>>  VersionNoの場合、VersionNoが桁のMax値に到達した場合は、
>>  どうなるでしょうか?
>>  (サイクリックになる?)
> 
> intとして+1しているだけですから、
> 0 → 正のMAX → 負のMAX → 0 という感じでサイクリックになる
> と思います。
> 
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>




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