[Seasar-user:1599] Re: S2Dao :: Timestamp による排他制御における 形式 エラーについて

Masanobu Shimura mikeshimura
2005年 3月 10日 (木) 22:53:50 JST


ひがさま、しのださま
POSTGRES 8.0でTESTしましたが問題ありませんでした。
LOGには下記のように秒単位までしか表示されていませんが、DATABASEには
ミリ秒まで書かれています。
JDBC Dreiverは POSTGRES 8.0に含まれているpostgresql-8.0.309.jdbc3.jarを
つかっています。
参考まで 
志村
 public static void main(String[] args) {
        S2Container container = S2ContainerFactory.create("shimura/test/dicon/alldao.dicon"); /* 手順1 */
        container.init(); 
        try {
         Test1Dao dao = (Test1Dao) container.getComponent(Test1Dao.class);
      Test1 t1 = dao.getEntity("ABC");
      t1.setBbb("XXX");
      dao.update(t1);
        } finally {
            container.destroy(); 
        }
 }
DEBUG 2005-03-10 22:46:58,750 [main] 物理的なコネクションを取得しました
DEBUG 2005-03-10 22:46:58,765 [main] 論理的なコネクションを取得しました
DEBUG 2005-03-10 22:46:58,984 [main] 論理的なコネクションを閉じました
DEBUG 2005-03-10 22:46:59,062 [main] SELECT test1.TIMESTAMP, test1.BBB, test1.AAA FROM test1 WHERE  test1.AAA = 'ABC'
DEBUG 2005-03-10 22:46:59,062 [main] 論理的なコネクションを取得しました
DEBUG 2005-03-10 22:46:59,078 [main] 論理的なコネクションを閉じました
DEBUG 2005-03-10 22:47:11,953 [main] 論理的なコネクションを取得しました
DEBUG 2005-03-10 22:47:11,984 [main] UPDATE test1 SET TIMESTAMP = '2005-03-10 22.47.11', BBB = 'XXX' WHERE AAA = 'ABC' AND TIMESTAMP = '2005-03-10 22.44.24'
DEBUG 2005-03-10 22:47:12,000 [main] 論理的なコネクションを閉じました
DEBUG 2005-03-10 22:47:12,000 [main] 物理的なコネクションを閉じました
 Yasuo Higa <[E-MAIL ADDRESS DELETED]> wrote:<[E-MAIL ADDRESS DELETED]> の、
"[Seasar-user:1597] Re: S2Dao :: Timestamp による排他制御における 形式 エラーについて" において、
"k-shinoda "さんは書きました:

ひがです。

> しのだです。
> 
> >たぶん、insertされている実際のデータとselectしたデータのどちらかが
> >ミリ秒まで入っていて、どちらかがミリ秒が省略されているんじゃないかと
> >予想してます。
> 
> データを確認してみたところ
> insertした実際のデータにはミリ秒までいれていません。
> S2Dao経由で取得したデータをみると「2005-06-06 05:05:05.0」
> と.0がついているのでこの事が矛盾を起こしているのかな。
>
いえ。.0も表示上の問題です。ミリ秒まで入っていないのなら.0と
同じなんですけどね。
ミリ秒のないTimestampによる排他制御は危険
(1秒以内なら複数のセッションで更新できてしまう)なので、
VersionNoを使った方がいいと思います。
---
ひがやすを(http://d.hatena.ne.jp/higayasuo/)
_______________________________________________
Seasar-user mailing list
[E-MAIL ADDRESS DELETED]
http://lists.sourceforge.jp/mailman/listinfo/seasar-user
-------------- next part --------------
HTMLの添付ファイルが除去されました.
URL: http://lists.sourceforge.jp/mailman/archives/seasar-user/attachments/20050310/0843c2a2/attachment.htm



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