У меня есть jpa-код, который генерирует игроков (10000) и для каждого игрока на 100 игр и вставляет их в дБ, но это так медленно, я пытался использовать btch, где я установил размер btch, а затем использовал грипп sh / чистые методы, но это не сильно изменилось
List<Player> players = new ArrayList<>();
Random rd = new Random();
@Override
public void createMassData() {
EntityManager em = lab02EntityManager.getEntityManager();
EntityTransaction tx = em.getTransaction();
List<Category> allCategories =
lab02EntityManager
.getEntityManager()
.createQuery("select c from Category c")
.getResultList();
players = createPlayers();
tx.begin();
int trans = 1000;
int index=0;
for (Player player : players) {
em.persist(player);
index++;
for (int i = 0; i < 10; i++) {
em.persist(playGame(player, allCategories));
index++; }
if (index > trans){
index=0;
em.flush();
em.clear();
}
}
System.out.println("created ..");
tx.commit();
}