Оставете array[...]
от вашия SQL:
WHERE CAST(:commoditySpecIds AS BIGINT[])
и след това предайте списъка с идентификатори като низ, който изглежда така:
"{1,2,3,4}"
По подразбиране toString() за списъци обикновено връща нещо като:"[1,2,3]"
, така че можете да направите нещо подобно:
String literal = commoditySpecsIds.toString();
literal = "{" + literal.substring(1,literal.length() - 1) + "};
и след това го предайте на вашия слой за обфускация:
setParameter("commoditySpecIds", literal)