Avatar ·

Inserção em massa de dados via JpaRepository em Spring Boot e Kotlin

Olá a todos! Estou escrevendo uma aplicação em Kotlin + Spring Boot + Hibernate e preciso inserir muitos registros em uma tabela CockroachDB. Atualmente, estou fazendo isso em um loop com saveAll(): ```kotlin @Repository interface UserRepository : JpaRepository @Service class UserService(private val repo: UserRepository) { fun insertUsers(users: List) { users.forEach { repo.save(it) } // ou repo.saveAll(users) } } ``` Problema: se houver 1000+ usuários, isso funciona muito lentamente. Nos logs, vejo que o Hibernate cria um INSERT separado para cada registro. Li que é possível fazer batch inserts, mas não entendo como configurar corretamente. Perguntas: 1. Como fazer inserção em massa via JpaRepository para que o Hibernate agrupe os INSERTs em um único lote? 2. É necessário alterar o application.yml ou adicionar alguma anotação? 3. Há diferença entre saveAll() e um loop com save()? 4. Como isso funciona com CockroachDB (parece que ela suporta batch)? Versões: Spring Boot 3.2,