Я не могу выполнить процедуру
public void delete(Long id, String name, List<Long> serialNo) throws Exception {
try {
SimpleJdbcCall call = new SimpleJdbcCall(new JdbcTemplate(this.dataSource)).withSchemaName(SCHEMA_NAME)
.withCatalogName(CATALOG_NAME).withProcedureName(board_read)
.declareParameters(new SqlParameter("id", OracleTypes.NUMBER))
.declareParameters(new SqlParameter("serialNo", OracleTypes.ARRAY, SCHEMA_NAME + "." + "NUMARRAY"));
Long[] pnumbers = serialNo.toArray(new Long[serialNo.size()]);
SqlParameterSource in = new MapSqlParameterSource().addValue("s_id", new BigDecimal(Id))
.addValue("p_list", new SqlArrayValue<>(pnumbers));
call.execute(in);
} catch (Exception ex) {
throw ex;
}
}
Я видел много примеров, но проблема все еще не устранена. Я всегда получаю исключение ниже:
java.lang.ClassCastException: com.zaxxer.hikari.pool.HikariProxyConnection cannot be cast to oracle.jdbc.OracleConnection
Все остальные процедуры работают хорошо, так как не используют массивы.