С oracle 12c теперь класс oracle.sql.StructDescriptor устарел.Теперь вы можете напрямую создать структуру и связать ее с оператором, как показано ниже.
PreparedStatement ps= conn.prepareStatement("text_of_prepared_statement");
Struct mySTRUCT = conn.createStruct (...);
ps.setObject(1, mySTRUCT, Types.STRUCT);
Проблема заключается в том, что мы изменим структуру атрибутов базового типа записи оракула, связанного с этой структурой (например: Добавить новый атрибутудалить атрибут, изменить порядок атрибутов), дескриптор структуры, кэшированный в JDBC, становится устаревшим.Таким образом, выполнение закончится с SQLException.Это также упоминается в документации оракула здесь .
. Мне нужен способ перезагрузки дескриптора структуры, если он устарел, без использования устаревшего класса oracle.sql.StructDescriptor или сброса настроек.пул соединений.
Что я нашел до сих пор: мы можем использовать свойство Weblogic DataSource «Remove Infected Connections Enabled», чтобы отбросить физическое соединение, как упомянуто здесь .
Конфигурации: Weblogic 12c ojdbc7 jdk 1.8