Cómo llamar a un procedimiento con matrices asociativas en Oracle desde Java

Tengo un procedimiento almacenado que se ve así:

TYPE ref_cursor IS REF CURSOR;    
TYPE parametro IS RECORD (
    nombre      VARCHAR2(50), -- I want to remove this value and make it the key of the table instead.
    valor       VARCHAR2(32000),
    tipo        VARCHAR2(1),
    sentencia   VARCHAR2(32000)
);
TYPE parametros IS TABLE OF parametro INDEX BY VARCHAR2(50);

PROCEDURE build_cursor (
    params IN parametros
    results OUT ref_cursor
);

Y a partir del procedimiento build_cursor, quiero poder acceder a los contenidos de la tabla por su clave.

parametros('key');

Sin embargo, no sé cómo construir una matriz asociativa desde Java, solo he visto ejemplos de matrices simples, es decir:TYPE parametros IS TABLE OF parametro;

Como puedo llamar albuild_cursor procedimiento de java?

Leo esto:¿Cómo llamar a Oracle al procedimiento almacenado que incluye el tipo definido por el usuario en java? pero no sé qué cambios debo hacer en su ejemplo de Java para crear la matriz asociativa;¿Dónde pongo la Clave del elemento actual?

Esta es una prueba de trabajo de Oracle.

params('key').nombre        := 'key'; -- I want this to be removed because it's the key.
params('key').valor         := 'Roger';
params('key').tipo          := 'V';
params('key').sentencia     := 'Something';
-- Call the procedure
pk_sql_utils.build_cursor(
    params => params,
    results => :results
);

Respuestas a la pregunta(1)

Su respuesta a la pregunta