各位,帮帮忙啊
现在我想做一个从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条后,出现了问题,不能将所有的数据回滚,而需求又要求,将所有的回滚,怎么处理啊?
现在我想做一个从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条后,出现了问题,不能将所有的数据回滚,而需求又要求,将所有的回滚,怎么处理啊?
解决方案 »
- 初学者的一个疑问
- Myeclipse8.5 如何使用STRUTS2.2
- 打印问题,大家来看看,有没有懂的?
- 请问一下高手:weblogic连接池中配置JDBC数据源(informix)
- jbuilder2006 webservice的问题
- 请教HSQL统计不重复纪录的问题
- java 读取sqlserver数据库中image类型数据导致内存溢出
- hibernate 配置问题 ---------高分
- Out of Memory 问题!!
- 我的JSP文件可以在默认目录下运行,我想让JSP文件在我指定的目录下运行,CONFIG.XML文件要怎么样配置?
- ssh 业务代理???????
- 在点一个超连接显示数据库不同表的数据在同一个页面
for(int i=0;i <list.size();i++){
session.save(obj);
}
session.commit();
}catch(Exception e){
session.roleback();
} 这样不行?
帮你顶下吧!
那就把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();
}