2008年4月7日(月)
java mysql 0000-00-00
日付型に有効範囲外のものを入れると0000-00-00で登録されてしまうが、読み出し時に
Exception in thread "main" java.sql.SQLException:
Value '0000-00-00' can not be represented as java.sql.Date
のように例外となってしまう。
これを解決するのに、もちろん、有効範囲のチェックを入れればよいが、JDBCの設定を下記のようにすると、NULL値に置き換えてくれる。
[zeroDateTimeBehavior=convertToNull]
<set-property property="url" value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull"/>
