本人小菜用seam开发,在程序中要保存大量的数据,大概要生成10000条记录,比如要保存到mydata表(id, user, pwd)最后保存完成或失败后都会生成一个日志,即保存一条记录,比如是mylog表(id, isOk) 程序中 大概如下:
@In
EntityManager entityManager;
for(i=0;i<10000;i++){
Mydata data = new Mydata();
data.setId("086020"+i);
data.setUser("tom");
data.setPwd("123");
entityManager.persist(data);
}
Mylog log = new Mylog();
log.setId("123456");
log.setIsOk("ok");
entityManager.persist(log);
entityManager.flush():以下代码只是为简单描述,在存入数据库除外的代码保证没错,我的问题是如何针对这种批量增加数据库得出一种最合适的保存方式不甚感激
另补充一下:在新增大概5000记录的时候未报错,但在新增10000条记录的时候报以下错误:09:03:34,171 WARN [JDBCExceptionReporter] SQL Error: 0, SQLState: null
09:03:34,171 ERROR [JDBCExceptionReporter] Transaction is not active: tx=TransactionImple < ac, BasicAction: -3f57ff93:5b4:4ab03093:cc status: ActionStatus.ABORTED >; - nested throwable: (javax.resource.ResourceException: Transaction is not active: tx=TransactionImple < ac, BasicAction: -3f57ff93:5b4:4ab03093:cc status: ActionStatus.ABORTED >)
09:03:34,171 FATAL [application] /finance/AnaCpxstj.xhtml @775,27 action="#{anaAction.addReports_month}": javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: Cannot open connectionCaused by: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: Cannot open connection
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:629)
at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:218)
at org.jboss.seam.persistence.EntityManagerProxy.persist(EntityManagerProxy.java:137)
@In
EntityManager entityManager;
for(i=0;i<10000;i++){
Mydata data = new Mydata();
data.setId("086020"+i);
data.setUser("tom");
data.setPwd("123");
entityManager.persist(data);
}
Mylog log = new Mylog();
log.setId("123456");
log.setIsOk("ok");
entityManager.persist(log);
entityManager.flush():以下代码只是为简单描述,在存入数据库除外的代码保证没错,我的问题是如何针对这种批量增加数据库得出一种最合适的保存方式不甚感激
另补充一下:在新增大概5000记录的时候未报错,但在新增10000条记录的时候报以下错误:09:03:34,171 WARN [JDBCExceptionReporter] SQL Error: 0, SQLState: null
09:03:34,171 ERROR [JDBCExceptionReporter] Transaction is not active: tx=TransactionImple < ac, BasicAction: -3f57ff93:5b4:4ab03093:cc status: ActionStatus.ABORTED >; - nested throwable: (javax.resource.ResourceException: Transaction is not active: tx=TransactionImple < ac, BasicAction: -3f57ff93:5b4:4ab03093:cc status: ActionStatus.ABORTED >)
09:03:34,171 FATAL [application] /finance/AnaCpxstj.xhtml @775,27 action="#{anaAction.addReports_month}": javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: Cannot open connectionCaused by: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: Cannot open connection
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:629)
at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:218)
at org.jboss.seam.persistence.EntityManagerProxy.persist(EntityManagerProxy.java:137)
解决方案 »
- 一个关于eclipse的自动提示的问题
- 用java实现日历记事本
- 请问服务器端如何得知session已经超时?
- 会tapestry5的进来看看,谢谢了,刚开始接触这个(关于.tml页面膜板调用js的问题)
- java中读取有规则的txt文件(在xml中定制下规则)
- 请问下 AXIS 可否多版本共存(weblogic中)
- 新手求教,初学JSP出现HTTP Status 500错误,我用的是myeclipse连接oracle数据库
- hibernate 中如何连接 MS SQL Server ??
- javassist问提
- 在webapp/WEB-INF/classes中的class为什么在Jboss3.0x上不能动态更新,原来在jboss2.x.x上都是可以的,是不是要修改什么配置项啊?
- 【求助】无法载入struts.xml,在线等
- (200分)Java如何调用C的动态链接库--求助ing?
然后再dao里面设置每1000条提交一次