Spring Boot 2.0.0: HikariProxyConnection cannot be cast to oracle.jdbc.OracleConnection

312
06 апреля 2018, 19:15

Я получил ошибку:

com.zaxxer.hikari.pool.HikariProxyConnection cannot be cast to oracle.jdbc.OracleConnection

Мой код:

SimpleJdbcCall jdbcCall = new SimpleJdbcCall(jdbcTemplate).
        withCatalogName(packageName).
        withProcedureName(procedureName);
Map<String, Object> sqlParams = new LinkedHashMap<>();
for(RMSEntityParam entityParam: entity.getParams()) {
    jdbcCall.addDeclaredParameter(new SqlParameter(entityParam.getName(), OracleTypes.ARRAY, entityParam.getType().name()));
    sqlParams.put(entityParam.getName(), new SqlArrayValue<>(new Object[]{entityParam.getValue()}));
}
jdbcCall.execute(sqlParams);

Я знаю, что можно преобразовать Хикари-коннекшен к оракловому, как рекомендуют здесь: https://stackoverflow.com/questions/40087536/hikaricp-pass-oracle-custom-type

но конструктор SimpleJdbcCall может принимать на вход только JdbcTemplate или DataSource.

Hikari Version: 2.8.0 SpringBoot: 2.0.0

Как я могу решить проблему с Хикари?

P.S.: Переходить на CallableStatement не планирую. Проблема возникла при переходе со Спринг Бут 1.5.9 на версию 2.0.0. Раньше всё отрабатывало корректно.

P.S.S.: Вероятнее всего, проблема возникает из-за передачи кастомного типа ораклового массива. Но в предыдущей версии спринга ошибки не было. Откатываться не планирую.

READ ALSO
Вебсокеты с условной подпиской

Вебсокеты с условной подпиской

Задача: есть клиенты, которые подписываются у сервера на события, удовлетворяющие некоторым параметрам (скажем, событие по объекту, лежащему...

209
Потоки в программе

Потоки в программе

Добрый день(Скрины в ссылках ниже),возник вопросЗапускается приложение цепляет fxml + Controller в котором есть бесконечный цикл

183
jar не видит стороннюю библиотеку

jar не видит стороннюю библиотеку

Проект работает, но при запуске сделанного jar выскакивает ошибка в командной строке, что отсутсвует библиотека, хоть в intellijn я ее добавилчто...

175
java,ArrayList,code morse

java,ArrayList,code morse

у меня задание написать программу в java, что-бы из простого алфавита переводил в азбуку морзе, нельзя использовать hashmap, hashset, выдает ошибку

161