PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Lier le paramètre de tableau à la requête native

Laissez de côté le array[...] depuis votre SQL :

WHERE CAST(:commoditySpecIds AS BIGINT[])

puis transmettez la liste des identifiants sous la forme d'une chaîne qui ressemble à ceci :

"{1,2,3,4}"

La valeur par défaut toString() pour les listes renvoie généralement quelque chose comme :"[1,2,3]" , vous pouvez donc faire quelque chose comme ceci :

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

puis transmettez-le à votre couche d'obscurcissement :

setParameter("commoditySpecIds", literal)