Нет. Если хранимая процедура Oracle находится в PL / SQL, вы должны преобразовать свой ArrayList (или любую реализацию List) в массив.
Если ваша хранимая процедура написана на Java, вы можете сериализовать свой ArrayList, отправить поток байтов в Oracle в виде длинной строки и воссоздать ее на стороне Oracle. Я сделал это около 10 лет назад для клиента, и это сработало очень хорошо. Существуют ограничения на длину строки, которую вы можете передать через интерфейс Java-Oracle, поэтому, если ваша структура данных велика, вам придется разделить ее на порции, которые будут соответствовать одному параметру, и чтобы Java на стороне Oracle принимала несколько параметры длинной строки.