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