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)