Spring Batch читает и записывает данные в виде фрагментов. Предположим, что у вас есть 1000 записей и ваш размер куска в 100, и вы делаете пакетные вставки. Для каждого чанка (100 элементов) весенний пакет откроет транзакцию, вставит 100 записей и зафиксирует транзакцию. В случае, если произойдет какая-либо ошибка, этот конкретный фрагмент (100 записей) будет откатан. Но все предыдущие вставленные фрагменты нельзя откатить.