Laat de array[...]
weg van uw SQL:
WHERE CAST(:commoditySpecIds AS BIGINT[])
en geef de lijst met ID's door als een tekenreeks die er als volgt uitziet:
"{1,2,3,4}"
De standaard toString() voor lijsten retourneert meestal zoiets als:"[1,2,3]"
, dus je zou zoiets als dit kunnen doen:
String literal = commoditySpecsIds.toString();
literal = "{" + literal.substring(1,literal.length() - 1) + "};
en geef dat dan door aan je verduisteringslaag:
setParameter("commoditySpecIds", literal)