Таким образом, показанный код извлекает массив структур, состоящих из ключа и значения каждого, то есть карты.
На основании того, что я почерпнул из здесь и здесь Я ожидаю, что код, совместимый с JDBC, будет выглядеть примерно так:
import java.sql.Array;
import java.sql.Struct;
// getArray() must be modified to return a java.sql.Array, but that should be
// nothing but rs.getArray() (or dataRow.getArray())
Array arr = getArray(dataRow, "FORM_DATA", false);
Map<String, String> kvMap = new HashMap<String, String>();
try {
Struct[] dat = (Struct[])arr.getArray();
for (Struct s : dat) {
Object[] element = s.getAttributes();
String key = (String)element[0];
String value = (String)element[1];
kvMap.put(key, value);
}
} catch (SQLException e) {
Log.logError(this, e.getMessage());
}
Не тестировал его, но если вы не используете какие-либо специфические методы Oracle, он должен быть относительно простым.