JavaOracleのDATE型は時刻情報を保持しますが、ResultSet.getObject()で取得すると、(たぶん9i,10gでは)java.sql.Dateにマッピングされ、時刻が切り捨てられてしまいます。ResultSet.getTimestamp()なら日時を取得できますので、これを使えるのであればあっさり解決です。この奇妙な動作のためにプログラムをいじりたくないので、頭を悩ませていました。この問題を回避する情報がいくつか見つかったので、書いておきます。V8CompatibleOracle9iから、"V8Compatible"というプロパティが使えるようになりました。これを設定すれば、DATE型をjava.sql.Timestampとして取得することができます。...ただし、これだとsetObjectは上手くいきません。他の部分も「Oracle8i互換」な箇所があるかもしれないので、多少の不安が残ります。mapDateToTimestampOracle11gからは、Oracle8iとの互換性をサポートをしなくなり、"V8Compatible"は廃止されました。その代わり、"mapDateToTimestamp"(デフォルト=true)というシステムプロパティが導入され、OracleのDATE型がTimestampにマッピングされるようです。残念ながら、こちらで試せる環境が無いので未確認ですが、サーバがOracle9,10でも使えるみたいです。setObjectも上手くいくでしょう。その他java.sql.Connection.setTypeMapで型のカスタムマッピングができるはずですが、どうにも上手くいきません。バイトコードライブラリで強引にgetTimestamp()させるとか。(Java)Firefoxの履歴を書き出すツールをJavaで書いてみました。(2)プロフィールid:argiusはてなブログをはじめよう!argiusさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。