自己获取 Transaction,然后手工提交.
解决方案 »
- java中使用sql2000连接2005的问题
- easyui tree 请求strtus2接收 json数据,但无法画出树状图(struts2返回的json字符串数据格式正确),请问这么怎么回事,如何解决.
- Eclipse即在Tomcat中,如何自动生成JSP页面后,让它可以访问?
- 如何用代码控制IE打印设置
- 请教
- 这种页面是怎么作的!!解决后另外加分!!
- 各位可否提供几本STRUCTS的书或资料供参考么?
- apache_1.3.26-win32-x86-no_src.msi与apache_1.3.26-win32-x86-no_src.exe
- 请问:我的jsp 装上以后提示下列错误??
- 编译servlet文件出错!急!!!!
- 在服务器上搭建一个中央库
- 求struts2-fullhibernatecore-plugin的最新版本下载
for(int i; i<person.size(); i++){
Person person = new Person();
person.setPersonName(person.get(i).getPersonName());
person.setPersonCode(person.get(i).getPersonCode());
...
this.getHibernateTemplate().saveOrUpdate( person);
// this.getSession().flush();
// super.getSession().refresh(prpDCompany);
// this.getSession().clear();
this.getSession().getTransaction().commit();
}
异常信息:
org.hibernate.TransactionException: Transaction not successfully started
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:127) ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final]
at com.sinosoft.cargo.systemconfig.sysparamconfig.service.spring.CompanyConfigServiceSpringImpl.importExcelData(CompanyConfigServiceSpringImpl.java:170) ~[CompanyConfigServiceSpringImpl.class:na]
at com.sinosoft.cargo.systemconfig.sysparamconfig.service.spring.CompanyConfigServiceSpringImpl$$FastClassByCGLIB$$aa7ebbea.invoke(<generated>) ~[CompanyConfigServiceSpringImpl$$FastClassByCGLIB$$aa7ebbea.class:na]
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[cglib-nodep-2.2.2.jar:na]
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700) ~[spring-aop-2.5.6.SEC03.jar:2.5.6.SEC03]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) [spring-aop-2.5.6.SEC03.jar:2.5.6.SEC03]
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) ~[spring-tx-2.5.6.SEC03.jar:2.5.6.SEC03]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) [spring-aop-2.5.6.SEC03.jar:2.5.6.SEC03]
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89) [spring-aop-2.5.6.SEC03.jar:2.5.6.SEC03]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) [spring-aop-2.5.6.SEC03.jar:2.5.6.SEC03]
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635) [spring-aop-2.5.6.SEC03.jar:2.5.6.SEC03]
at com.sinosoft.cargo.systemconfig.sysparamconfig.service.spring.CompanyConfigServiceSpringImpl$$EnhancerByCGLIB$$7e75572.importExcelData(<generated>) [CompanyConfigServiceSpringImpl$$EnhancerByCGLIB$$7e75572.class:na]
at com.sinosoft.cargo.systemconfig.sysparamconfig.web.CompanyConfigAction.companyBatchImport(CompanyConfigAction.java:237) [CompanyConfigAction.class:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_13]
this.getSession().beginTransaction().commit(); 试试
在for循环内部结束的地方调用this.getSession().getTransaction().commit();
for(){
try{
}catch(){
continue;
}
}
public void sendDuanXin(){
Session session = em.unwrap(Session.class);
session.doWork(new Work() {
@Override
public void execute(Connection conn) throws SQLException {
//要设置自动提交
conn.setAutoCommit(true);
//查询要发送的微信List信息
PreparedStatement ps = conn.prepareStatement("update xxxx set xxxx=1 where id=?");
ps.setLong(1, xx.getId());
int s = ps.executeUpdate();
}
});
}
--- 你试一下!我们 做短时间 定时任务 时 这样 做的!
this.getHibernateTemplate().execute(new HibernateCallback() { @Override
public Object doInHibernate(Session session) throws HibernateException {
session.setFlushMode(FlushMode.AUTO);
Object o = session.save(file2);
session.flush();
session.clear();
return o;
}
});
每次调这个方法,或者传进来个list 只要flash了就会进库