我正在使用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方法返回Date?
答案 0 :(得分:2)
我尝试更改jtds驱动程序版本,但它没有用。一旦我将数据类型从日期更改为日期时间,它就开始工作而没有问题。我也试过datetime2来看看它是否会起作用。不行......如果有人遇到这个问题......后端是一个SQLServer 2008R2 db。