Я пытаюсь выполнить UPDATE в таблице строк SnappyData с помощью API JDBC и NamedParameterJdbcTemplate Spring.Невозможно выполнить NamedParameterJdbcTemplate UPDATE
Ошибка:
Вызванный: java.sql.SQLException: (SQLSTATE = XCL14 Уровень важности = 20000) Положение столбца '1' находится вне диапазона. Количество столбцов для этого ResultSet равно «0». в com.pivotal.gemfirexd.internal.shared.common.error.DefaultExceptionFactory40.getSQLException (DefaultExceptionFactory40.java:121) в com.pivotal.gemfirexd.internal.shared.common.error.ExceptionUtil.newSQLException (ExceptionUtil.java : 148) at com.pivotal.gemfirexd.internal.client.am.SqlException.getSQLException (SqlException.java:419) at com.pivotal.gemfirexd.internal.client.am.ColumnMetaData.getColumnType (ColumnMetaData.java:644) на com.pivotal.gemfirexd.internal.client.am.PreparedStatement.setString (PreparedStatement.java:1203) на com.zaxxer.hikari.pool.HikariProxyPreparedStatement.setString (HikariProxyPreparedStatement.java) в org.springframework.jdbc .core.StatementCreatorUtils.setValue (StatementCreatorUtils.java:429) в org.springframework.jdbc.core.StatementCreatorUtils.setParameterValueInternal (StatementCreatorUtils.java:235) в org.springframework.jdbc.core.StatementCreatorUtils.setParameterValue (StatementCreatorUtils.java:150) в org.springframework.jdbc.core. PreparedStatementCreatorFactory $ PreparedStatementCreatorImpl.setValues (PreparedStatementCreatorFactory.java:292) в org.springframework.jdbc.core.PreparedStatementCreatorFactory $ PreparedStatementCreatorImpl.createPreparedStatement (PreparedStatementCreatorFactory.java:244) в org.springframework.jdbc.core.JdbcTemplate.execute (JdbcTemplate. java: 623) ... 70 еще Вызвано: ERROR XCL14: Положение столбца «1» выходит за пределы допустимого диапазона. Количество столбцов для этого ResultSet равно «0». на com.pivotal.gemfirexd.internal.client.am.ColumnMetaData.checkForValidColumnIndex (ColumnMetaData.java:856) в com.pivotal.gemfirexd.internal.client.am.ColumnMetaData.getColumnType (ColumnMetaData.java:638)
NamedParameter SQL выглядит следующим образом:
UPDATE generic_table_10 SET (VERSION =: версия, FK_1 =: Ф.К., col_1 =: col1, COL_2 =: col2, COL_3 =: col3, COL_4 =: COL4, COL_5 =: col5, COL_6 =: col6, COL_7 =: col7, COL_8 =: col8, COL_9 =: col9, COL_10 =: col10) WHERE (ID =: id и VERSION =: oldVersion)
ПРИМЕЧАНИЕ: тип столбца VERSION является Integer. Все остальные типы столбцов - это String.
SQL, выглядит так, что, кажется, хорошо для меня?????
UPDATE generic_table_10 SET (VERSION =, FK_1 =, col_1 =, COL_2 =, COL_3 =, COL_4 =, COL_5 = ?, COL_6 =?, COL_7 =?, COL_8 =?, COL_9 =?, COL_10 =?) WHERE (ID =? И VERSION =?)