DBUtils не может преобразовать строку в дату

Я использую Apache Dbutils. У меня есть объект с атрибутом java.util.Date. Когда я выполняю следующий код, он не работает для SQL

select name, startDate from myTable

      try {
        QueryRunner run ;
        run = new QueryRunner();

        ResultSetHandler h = new BeanListHandler(clazz);
        ArrayList<T> result ;
        result = (ArrayList) run.query(connection, sql, h);
        return result;
    } catch (SQLException ex) {
        Logger.getLogger(AbstractDataMapper.class.getName()).log(Level.SEVERE, null, ex);
        throw new AppException("Sql fetch failed for: " + sql,ex);
    }

}

Я посмотрел на код и обнаружил, что BeanProcessor, processColumn просматривает все свойства, за исключением Date. Для Date он вызывает rs.getObject(index). Это, согласно моему отладчику, возвращает строку и вызывает сбой набора. Есть идеи?

Сменить драйвер? Я использую JTDS 1.2.5. Предполагается ли возвращать дату для метода getObject?

1 ответ

Я попытался изменить версию драйвера jtds, он не работал. Как только я изменил тип данных с даты на дату, он начал работать без проблем. Я также попытался datetime2, чтобы увидеть, будет ли это работать. Нет дела... На случай, если кто-нибудь столкнется с этой проблемой... Бэкэнд - это SQLServer 2008R2 db.

Другие вопросы по тегам