クラウドインフラ構築記

現在AWSの構築支援に携わっております。今注視しているのは、GKE、BigQuery、Google Dataflowなどサービスを展開しているGoolge Cloud Platformです。

Timestampに0000-00-00があると例外が発生します。

Seasar2とS2JDBCを利用してJavaアプリケーションを開発していると、データベースのTimestampに’0000-00-00’があると、SQLExceptionが発生し、データベースからの情報取得等に失敗します。日付情報をNULLにしておく場合、問題になります。データベースは、MySQL 5.1を使用。


Cannot convert value "0000-00-00 00:00:00" to TIMESTAMP value "0000-00-00" cannot be represented as java.sql date"

データベースの初期値(DEFAULT)に0000-01-01を設定しておくと、例外が発生しなくなります。

http://blog.r-unit.co.jp/archives/730 によると、JDBCのURLにパラメータを付与するのがよさそう。

コメントは受け付けていません。