PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Vincular parâmetro de matriz à consulta nativa


Deixe de fora o array[...] do seu SQL:
WHERE CAST(:commoditySpecIds AS BIGINT[])

e, em seguida, passe a lista de IDs como uma string parecida com esta:
"{1,2,3,4}"

O padrão toString() para Listas geralmente retorna algo como:"[1,2,3]" , então você poderia fazer algo assim:
String literal = commoditySpecsIds.toString();
literal = "{" + literal.substring(1,literal.length() - 1) + "};

e, em seguida, passe isso para sua camada de ofuscação:
setParameter("commoditySpecIds", literal)