我有一个Web应用程序,必须将数据添加到数据库,并且必须对1000个实体执行此操作。一切顺利,直到第10次迭代,然后进入执行持久化的方法时,我无法在打开事务的那一行获取JDBC连接。我将在下面添加方法。有谁知道我该怎么办?
@PersistenceUnit(unitName = "current_project")
private EntityManagerFactory entityManagerFactory;
public long persistaccountObject(accountObject accountObject) {
long pdaccmaccountManagerId = 0;
try {
logger.debug("Start Persisting...");
EntityManager entityManager = entityManagerFactory.createEntityManager();
entityManager.getTransaction().begin();
entityManager.persist(accountObject);
entityManager.getTransaction().commit();
// unique ID
accountId= accountObject.getId();
logger.debug("Persisting OK...");
}
catch (PersistenceException persistenceException) {
logger.error("PersistenceException occur",persistenceException);
}
catch (Exception e) {
logger.error("Exception occurs",e);
}
return accountId;
}
每次在第10次迭代时,在EntityManager.getTransaction()。begin()的行上都会发生异常。在此之前,我将对象保留在数据库中。
我尝试在pom中添加hibernate-c3p0依赖项,并在persistence.xml中为其设置一些属性,但是如果这样做,我的程序将被阻塞甚至无法开始运行
我该怎么办?