Я пытаюсь выполнить большие запросы SQL, которые могут содержать несколько идентичных параметров IN, например, {arg1, arg2, arg1, arg1, arg2}. Используя jdbcTemplate, я могу выполнить запрос, как показано ниже:
jdbcTemaplate.query(sqlQuery, new Object[] {arg1, arg2, arg1, arg1, arg2}, rowMap);
Но в некоторых запросах количество аргументов может быть большим, поэтому написание одинаковых аргументов, таких как {arg, arg1, arg1, arg2, arg1, arg1, arg1, ...}, выглядит ужасно. Есть ли способ определить набор индексов вхождений для каждого параметра in-param и отправить его в функцию запроса jdbcTemplate? Например,
ParamsOccurrences[] paramsOccurrences = {
new ParamsOccurrences(arg1, new int[] { 1, 4, 5, 6 }),
new ParamsOccurrences(arg2, new int[] { 2, 3 }) };
jdbcTemplate.query(sqlQuery, paramsOccurrences, rowMap);
Я использовал Oracle DB.