批量添加

来源:互联网 发布:淘宝客服工资多少2016 编辑:程序博客网 时间:2024/05/16 17:29

只是批量增加的时候,用下面这个方法就够了。

@Transactional(propagation=Propagation.REQUIRED)
 public void batchInsertTzzy(Collection objs) throws Exception{
  Session session = utilDao.getHibernateSession();
  Transaction tx = null;
  try{
   tx = session.beginTransaction();
   if (objs.size() > 0){
    for(Iterator it=objs.iterator();it.hasNext();){
    TbEduTzzy rs = (TbEduTzzy)it.next();
    session.save(rs);
    }
   }
   tx.commit();
  }catch (Exception e){
       tx.rollback();
      throw e;
  }finally{
   if(session != null && session.isOpen()){
    session.clear();
    session.close();
   }
  }
 }

 

如果是要增加或者是修改,则可以用saveOrUpdateAll这方法

@Transactional(propagation=Propagation.REQUIRED)
 public void saveOrUpdateAll(Collection obj) throws Exception{
  Session session = getHibernateTemplate().getSessionFactory().openSession();
  Transaction tr = session.beginTransaction();
  try{
   getHibernateTemplate().saveOrUpdateAll(obj);
   session.flush();
   tr.commit();
  }catch(Exception e){
   if(tr != null){
    tr.rollback();
   }
   e.printStackTrace();
   Loggers.error("saveOrUpdateAll保存或修改对象错误"+e);
   throw e;
  }finally{
   if(session != null & session.isOpen()){
    session.clear();
    session.close();
   }
  }
 }
 

原创粉丝点击