docs: public void setObjectForStatement(PreparedStatement ps, int index, Object value, int sqlType)
              throws SQLException
      {
          if ((sqlType == Types.LONGVARCHAR) && (value instanceof String))
          {
              String s = (String) value;
              ps.setCharacterStream(index, new StringReader(s), s.length());
          }
          /*
          PATCH for BigDecimal truncation problem. Seems that several databases (e.g. DB2, Sybase)
          has problem with BigDecimal fields if the sql-type was set. The problem was discussed here
          http://nagoya.apache.org/eyebrowse/ReadMsg?listName=ojb-user@db.apache.org&msgNo=14113
          A better option will be
          <snip>
          else if ((value instanceof BigDecimal) && (sqlType == Types.DECIMAL
                   || sqlType == Types.NUMERIC))
           {
               ps.setObject(index, value, sqlType,
                       ((BigDecimal) value).scale());
           }
           </snip>
          But this way maxDB/sapDB does not work correct, so we use the most flexible solution
          and let the jdbc-driver handle BigDecimal objects by itself.
          */
          else if(sqlType == Types.DECIMAL || sqlType == Types.NUMERIC)
          {
              ps.setObject(index, value);
          }
          else
          {
  // arminw: this method call is done very, very often, so we can improve performance
  // by comment out this section
  //            if (log.isDebugEnabled()) {
  //                log.debug("Default setObjectForStatement, sqlType=" + sqlType +
  //                          ", value class=" + (value == null ? "NULL!" : value.getClass().getName())
  //                            + ", value=" + value);
  //            }
              ps.setObject(index, value, sqlType);
          }
      }