Estoy usando Spring's NamedParameterJdbcTemplate para realizar una inserción en una tabla. La tabla usa un NEXTVAL en una secuencia para obtener la clave primaria. Entonces quiero que me pasen esta ID generada. Estoy utilizando la aplicación de llaves de primavera de la siguiente manera:Usando Spring's KeyHolder con claves primarias generadas por programación
KeyHolder key = new GeneratedKeyHolder();
jdbcTemplate.update(Constants.INSERT_ORDER_STATEMENT, params, key);
Sin embargo, cuando corro esta declaración, me estoy haciendo:
org.springframework.dao.DataRetrievalFailureException: The generated key is not of a supported numeric type. Unable to cast [oracle.sql.ROWID] to [java.lang.Number]
at org.springframework.jdbc.support.GeneratedKeyHolder.getKey(GeneratedKeyHolder.java:73)
Alguna idea de lo que me falta?
engañoso, compruebe a continuación la respuesta de Konstantin –