Boa Tarde Pessoal,
estou fazendo multimplos insert’s em jpa, utilizando o seguinte metodo.
private Tmp_Ntc gravar(List<Tmp_Ntc> listaTmp){
Tmp_Ntc tmp = new Tmp_Ntc();
List<Tmp_Ntc> listNtc = new ArrayList<Tmp_Ntc>();
listNtc = listaTmp;
EntityManager entityManager = getEntityManager();
entityManager.getTransaction().begin();
int vConta = 0;
for (int i = 0; i < listNtc.size(); i++){
tmp = listNtc.get(i);
//System.out.println(tmp.getNUM_NTC());
if (tmp.getLOGIN() != null){
tmp = entityManager.merge(tmp);
}else{
entityManager.persist(tmp);
}
if (vConta == 500){
entityManager.getTransaction().commit();
entityManager.clear();
entityManager.getTransaction().begin();
vConta = 0;
System.out.println("Atingiu 500");
}else{
vConta++;
}
}
entityManager.getTransaction().commit();
return tmp;
}
Em media ao inserir 30.000 registros em torno de 18 minutos,
Existe alguma forma de melhorar está performace ?
grato,