Ваши идентификаторы - это список байтовых массивов (т.е. он имеет два измерения).Метод StringUtils.join
не работает с этим.Кроме того, вам не нужно устанавливать массивы в качестве параметра, поскольку вы не указали никаких параметров в своем запросе.
Если вы выведете строку SQL, вы увидите, что она не совсем верна.
Вам придется сначала выровнять свой список массивов, прежде чем использовать его.Кто-то, вероятно, может сделать это с потоками в одной строке кода, но более простой способ - использовать цикл for и новый массив.
Я не проверял это, но что-то вроде:
List<Strings> list = new ArrayList<>();
for (byte[] idArray : ids) {
list.add(StringUtils.join(idArray, ','); // join each array
}
String all = StringUtils.join(list, ','); // join all of the arrays