我的系统框架是Struts spring Hibernate,今天想往数据库批量的插入数据,愿以为使用
getHibernateTemplate().saveOrUpdateAll(objs);可以很快搞定,但是测试中老是插不尽数据。代码是这样的。
public void batchInsert(Collection objs){
log.debug("objs size = " objs.size());
getHibernateTemplate().saveOrUpdateAll(objs);
//getHibernateTemplate().flush();}
结果没办法,使用hibernate的老办法才解决问题。代码如下
public void batchInsert(Collection objs){
log.debug("objs size = " objs.size());
//getHibernateTemplate().saveOrUpdateAll(objs);
//getHibernateTemplate().flush();
//getHibernateTemplate().getSessionFactory();
log.debug("open session");
Session session = getHibernateTemplate().getSessionFactory().openSession();
Transaction tx = null;
try
{
log.debug("begin transaction");
tx = session.beginTransaction();
if (objs.size() > 0)
{
for(Iterator it=objs.iterator();it.hasNext();){
IdeclResult rs = (IdeclResult)it.next();
log.debug("transaction save company name=" rs.getCompanyName());
session.save(rs);
}
}
tx.commit();
}
catch (HibernateException he)
{
tx.rollback();
throw he;
}
finally
{
session.close();
}
}
上一篇: 在tomcat5.0.28下配置DWR出错
下一篇: 用javascript 自动调节iframe高度出现问题
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




