2008年2月22日

[mysql 14396] Connector/J のTimestamp"0000-00-0000: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@xxxxx

投稿者 xml-rpc : 2008年2月22日 23:27
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/70180
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。