Я участвую в проекте, который имеет интерфейс Java, содержащий методы для запроса oracle db. Методы создаются с использованием аннотаций, таких как @SqlQuery
, @SqlUpdate
и т. Д.
Мне нужно вызвать процедуру, которая возвращает (или другую процедуру, которая принимает в качестве входных данных) параметр пользовательского типа таблицы БД (TYPE x IS TABLE OF VARCHAR(y) INDEX BY BINARY_INTEGER;
).
Я не могу понять, как я могу передать эти параметры с помощью аннотаций. Все ответы, которые я нашел, используют, скажем, императивный способ ( как вызвать процедуру с параметром out как тип таблицы из класса java ). Ключевым моментом в этих решениях является registerOutParameter(2, Types.ARRAY, typeTableName)
. Но в jdbi registerOutParameter
принимает только 2 аргумента для ввода.
Возможно ли вообще решить мою проблему с помощью аннотаций или, может быть, мне нужно объединить императивные и декларативные способы использования jdbi (и, если да, пожалуйста, покажите мне пример того, как это сделать).