各位,帮帮忙啊
现在我想做一个从Excel中导入到数据库中的操作,由于数量比较大,我现在想用
每N条session提交一次
就是做
try{
for(int i=0;i<list.size();i++){
    session.save(obj);
    if(i%N==0){
         session.flush();
        session.clear();
    }
    session.commit();
}
}catch(Exception e){
    session.roleback();
}
但是这样做,如果我在N条后,出现了问题,不能将所有的数据回滚,而需求又要求,将所有的回滚,怎么处理啊?

解决方案 »

  1.   

    try{
    for(int i=0;i <list.size();i++){
        session.save(obj);
    }
    session.commit();
    }catch(Exception e){
        session.roleback();
    } 这样不行?
    帮你顶下吧!
      

  2.   


    那就把commit()那句话放到一个if语句试试,不知道行不。try{
    for(int i=0;i <list.size();i++){
        session.save(obj);
        if(i%N==0){
            session.flush();
            session.clear();
        }
    if(i == list.size ){
    session.commit();
    }
        
    }
    }catch(Exception e){
        session.roleback();