[前][次][番号順一覧][スレッド一覧]

mysql:14396

From: (渡辺義則) <<cabva301@xxxxxxxxxx>>
Date: Fri, 22 Feb 2008 23:27:14 +0900
Subject: [mysql 14396] Connector/J の Timestamp"0000-00-00 00:00:00"問題の解決方法

渡辺(a-san)です。ども。

mysql:12214 などで議論になり、zeroDateTimeBehavior プロパティ
で3つの挙動を選ぶようになっているようですが、
別の解決方法を思いつきました。

アプリケーション側の話ではなく、Connector/J側の話です。
Connector/J で以下のクラスを作成し、そのクラスに変換して
返すように実装するのです。
こうすれば、Javaでも、"0000-00-00 00:00:00"が扱えるハズです。

// java.sql.Timestampを継承する。しかしそのメンバは使わない。
public class MySqlTimestamp extends java.sql.Timestamp {
    int year;
    ...
    int nano;
    public MySqlTimestamp(int year, ...) {
        this.year = year;
        ...
    }
    // すべてのメソッドをオーバーライドする。
    ...
}

どう思います?

----
渡辺 義則  a-san1@xxxxxxxxxx

[前][次][番号順一覧][スレッド一覧]