sql >> Base de Datos >  >> RDS >> PostgreSQL

Vincular parámetro de matriz a consulta nativa

Omita la array[...] desde su SQL:

WHERE CAST(:commoditySpecIds AS BIGINT[])

y luego pase la lista de ID como una cadena que se ve así:

"{1,2,3,4}"

El toString() predeterminado para Listas generalmente devuelve algo como:"[1,2,3]" , por lo que podría hacer algo como esto:

String literal = commoditySpecsIds.toString();
literal = "{" + literal.substring(1,literal.length() - 1) + "};

y luego pasa eso a tu capa de ofuscación:

setParameter("commoditySpecIds", literal)