Commons DbUtils
  1. Commons DbUtils
  2. DBUTILS-26

[dbutils] Oracle 9.2.0 JDBC Timestamp Problem

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: Nightly Builds
    • Fix Version/s: 1.1
    • Labels:
      None
    • Environment:

      Operating System: Windows XP
      Platform: PC

      Description

      I just run into a Timestamp problem with the Oracle 9i (9.2.0) JDBC Driver.

      When calling rs.getObject(index) on a DB field, defined as Timestamp(6),
      the resulting object is a oracle.sql.TIMESTAMP and not a java.sql.Timestamp as
      with other JDBC Drivers.

      This leads to a null value propagation if your Bean Property is defined as
      java.sql.Timestamp.

      If calling rs.getTimestamp(index), Oracle correctly converts the
      resulting value to a java.sql.Timestamp object.

      The following addition to the processColumn Method of the BeanProcessor class
      whould solve the problem.

      } else if(propType.equals(Timestamp.class)) {
      return rs.getTimestamp(index);

      This ensures that for a Bean property of type java.sql.Timestamp the
      getTimestamp() method is called.
      Otherwise the default getObject() mehod is called, so there souldn't be
      a problem if someone wants the Oracle enhanced oracle.sql.TIMESTAMP
      object.

      Regards
      Rolf

        Activity

        Hide
        David Graham added a comment -

        Fixed in the next nightly build.

        Show
        David Graham added a comment - Fixed in the next nightly build.

          People

          • Assignee:
            Unassigned
            Reporter:
            Rolf Moser
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development