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.