用getHibernateTemplate()批量插入数据时出错

王朝java/jsp·作者佚名  2006-03-24
窄屏简体版  字體: |||超大  

我的系统框架是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();

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航