PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Associa il parametro dell'array alla query nativa

Lascia fuori l'array[...] dal tuo SQL:

WHERE CAST(:commoditySpecIds AS BIGINT[])

e quindi passare l'elenco di ID come una stringa simile a questa:

"{1,2,3,4}"

L'impostazione predefinita toString() per gli elenchi di solito restituisce qualcosa come:"[1,2,3]" , quindi potresti fare qualcosa del genere:

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

e poi passalo al tuo livello di offuscamento:

setParameter("commoditySpecIds", literal)