Omita la array[...]
desde su SQL:
WHERE CAST(:commoditySpecIds AS BIGINT[])
y luego pase la lista de ID como una cadena que se ve así:
"{1,2,3,4}"
El toString() predeterminado para Listas generalmente devuelve algo como:"[1,2,3]"
, por lo que podría hacer algo como esto:
String literal = commoditySpecsIds.toString();
literal = "{" + literal.substring(1,literal.length() - 1) + "};
y luego pasa eso a tu capa de ofuscación:
setParameter("commoditySpecIds", literal)