我有以下異常艱難:Spring JDBC和Oracle DB 12c:java.sql.SQLException:列類型無效。爲什麼?
org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [update EVALUATION_SHEET set STATUS=?, LAST_EDITED=? where id=?]; SQL state [99999]; error code [17004]; Invalid column type; nested exception is java.sql.SQLException: Invalid column type
這是這裏拋出:
jdbcTemplate.update("update E_SHEET set STATUS=?, LAST_EDITED=? where id=?",
new Object[]{eSheet.getStatus().ordinal(), eSheet.getLastEditDate(), eSheet.getId()},
new Object[]{OracleTypes.NUMBER, OracleTypes.TIMESTAMP, OracleTypes.NUMBER});
創建數據庫表如下:
create table E_SHEET (
ID number not null unique,
ID_POSITION number not null,
STATUS number default 0 not null,
ID_EXAMINER number not null,
LAST_EDITED timestamp not null);
我不知道是什麼造成問題。此方法:
eSheet.getLastEditDate()
返回java.util.Date對象。我將Spring Boot和Oracle DB 12c作爲數據源使用Spring JDBC模板。
last_edited是一個時間戳,這意味着你將需要使用時間戳對象:'新的時間戳(eSheet.getLastEditDate()的getTime())' – fmodos 2014-12-05 11:13:36
這個例外聲明基本上只是說:「我得到了這另一個例外「。郵政*那*一。 – chrylis 2014-12-05 11:14:30