iBatis を使って DB を更新しようとした時に UnknownTypeHandler が発生した問題を解決する。
スポンサーリンク
O/R Mapping フレームワークとして、6年ぶりに iBatis を使うことになったが、使い方をすっかり忘れていることに気づいた。。
やっぱり、コードを書いていないと忘れてしまう。。
いくつかハマった問題があったけど、特に DB 更新時に UnknownTypeHandler が発生した件は、解決に時間がかかった。
・・・というか、問題が起きたカラムに javaType と jdbcType を指定してあげれば良かっただけなんだけど、XML をゴリゴリ書くのが嫌で、他に色んな方法を試してみたものの、どれも失敗に終わった。
ちなみに問題が起きたカラムに対応するクラスは、DB のドライバーの中に含まれているもので、java.sql.TimeStamp クラスを拡張した非 public なクラスだった。
TimeStamp のサブクラスなんだから、iBatis が宜しく解釈してくれるだろうと期待をしていたけど、よく考えてみれば、以下の理由でそれは無理だなと、色々と試行錯誤した後にようやく気付いた。