0

私は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 を返すことになっていますか?

4

1 に答える 1

2

jtds ドライバーのバージョンを変更してみましたが、うまくいきませんでした。データ型を日付から日時に変更すると、問題なく動作し始めました。datetime2 も試して、動作するかどうかを確認しました。いいえ...誰かがこの問題に遭遇した場合に備えて...バックエンドはSQLServer 2008R2 dbです。

于 2014-07-31T23:05:56.383 に答える