Я использую JPA + Hibernate в своем приложении. Я пытаюсь вставить 10000 данных в mysql БД. Но я получил эту ошибку. Как решить?
javax.persistence.PersistenceException: org.hibernate.TransactionException: уже есть связанное управляемое соединение
Вызвано: org.hibernate.TransactionException: уже есть связанное управляемое соединение
//For loop call 10000 times in getMdmId() method and pass MdmId object each time.
//@PersistenceContext
@PersistenceContext(type = PersistenceContextType.TRANSACTION)
private static EntityManager em = getEntityManager();
public static String getMdmId(MdmId mdm) {
String mdmId = "";
EntityTransaction tr = em.getTransaction();
try {
if (!tr.isActive())
tr.begin();
em.persist(mdm);
mdmId = Long.toString(mdm.getId());
// tr.commit();
if (tr.isActive()) tr.commit();
else em.flush();
} catch (Exception error) {
logger.error(error.getMessage());
if (tr.isActive()) tr.rollback();
error.printStackTrace();
}
System.out.println("----"+mdmId);
return mdmId;
}
private static EntityManager getEntityManager() {
return Persistence.createEntityManagerFactory("sql-connection").createEntityManager();
}