1
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
String query = "select a.alert_id from alert a where (alert.last_execution is null or trunc(alert.last_execution) < to_date(?, 'dd/MM/yyyy') ) and alert.frequency = ?";
jdbcTemplate.query(query, new Object[] {sdf.format(new Date()), "DAILY"}, new AlertRowMapper())

クエリ行で例外を返します。

SQL 状態 [99999]; エラーコード [17004]; 列タイプが無効です。ネストされた例外は java.sql.SQLException: Invalid column type at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83) です

なぜ機能しないのか誰かが知っていますか?

ありがとう

4

1 に答える 1

0

jdbcTemplateDateオブジェクトをパラメータに直接送信してto_date()、クエリからその部分を削除してみてください。Springは、アプリで文字列との間で変換するのではなく、データ型を自動的に変換する必要があります。

于 2012-09-15T00:10:36.787 に答える