Не используйте JPA.Основной сценарий использования JPAs: загрузка нетривиальной модели предметной области, манипулирование ею, затем сброс ее в базу данных с автоматическим обнаружением того, что изменилось.Кажется, вам это не нужно в вашем случае использования.
Используйте JDBC и пакетные вставки. Springs JdbcTemplate пригодится .
Выберите пакет, манипулируйте им, как вам нужно, вставьте его в цель.
Для настройки процесса выбора учитывайте значение на основе нумерации страниц .
При написании рассмотрите возможность удаления ограничений и индексов и создания их после процесса.
Возможно, доступно больше специфичных для MySQL опций, но я не знаю о них.
Возможно, вы захотите разделить свою работу на три пула потоков: один для чтения, один для записи, один для обработки данных.Я не уверен, но Spring Batch может помочь с этим.