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)