- 浏览: 1364673 次
- 性别:
- 来自: 江西
文章分类
- 全部博客 (287)
- oracle (30)
- Java (73)
- MySQL (16)
- Myeclipse/eclipse (12)
- javascript (15)
- JSP/Servlet (7)
- maven (14)
- AJAX (2)
- JQuery (9)
- tomcat (8)
- spring (21)
- Linux (28)
- PHP (9)
- UI (1)
- 编程错误及处理 (38)
- 多线程 (18)
- hibernate (10)
- Web Service (3)
- struts2 (6)
- log4j (3)
- SVN (4)
- DWR (1)
- lucene (1)
- 正则表达式 (4)
- jstl (2)
- SSL (3)
- POI (1)
- 网络编程 (1)
- 算法 (2)
- xml (4)
- 加密解密 (1)
- IO (7)
- jetty (2)
- 存储过程 (1)
- SQL Server (1)
- MongoDB (1)
- mybatis (1)
- ETL (1)
- Zookeeper (1)
- Hadoop (5)
- Redis (1)
- spring cloud (1)
最新评论
-
ron.luo:
牛逼,正解!
maven设定项目编码 -
lichaoqun:
java.sql.SQLException: Can't call commit when autocommit=true -
Xujian0000abcd:
Thanks...
Cannot proxy target class because CGLIB2 is not available. Add CGLIB to the clas -
renyuan2ni:
[i][b][u]引用[list]
[*][img][flas ...
Manual close is not allowed over a Spring managed SqlSession -
851228082:
宋建勇 写道851228082 写道<!-- 文件拷贝时 ...
maven设定项目编码
org.hibernate.TransactionException: nested transactions not supported
- 博客分类:
- 编程错误及处理
使用hibernate4.3.5和spring4.0.3进行数据批量保存时出错,错误信息如下:
2014-07-25 13:44:38 [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1]-[com.wasu.monitor.service.NewdcErrordataService.save(NewdcErrordataService.java:129)]-[ERROR] nested transactions not supported
org.hibernate.TransactionException: nested transactions not supported
at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.begin(AbstractTransactionImpl.java:154)
at org.hibernate.internal.SessionImpl.beginTransaction(SessionImpl.java:1435)
at com.wasu.monitor.db.HibernateTemplate.batchSave(HibernateTemplate.java:122)
at com.wasu.monitor.service.NewdcErrordataService.save(NewdcErrordataService.java:121)
at com.wasu.monitor.service.NewdcErrordataService$$FastClassBySpringCGLIB$$ede15180.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:711)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
at com.wasu.monitor.service.NewdcErrordataService$$EnhancerBySpringCGLIB$$ac233e9a.save(<generated>)
at com.wasu.monitor.quartz.SpringQuartz.newdc_errordata_save(SpringQuartz.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:269)
at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:321)
at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:111)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
提示好像是说存在事物嵌套,就是说事物至少开启了2次,于是我修改代码(即去掉事物控制代码部分)
修改前:
修改后:
修改后再次测试,数据成功插入!看来还真是事物嵌套造成!呵呵!
2014-07-25 13:44:38 [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1]-[com.wasu.monitor.service.NewdcErrordataService.save(NewdcErrordataService.java:129)]-[ERROR] nested transactions not supported
org.hibernate.TransactionException: nested transactions not supported
at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.begin(AbstractTransactionImpl.java:154)
at org.hibernate.internal.SessionImpl.beginTransaction(SessionImpl.java:1435)
at com.wasu.monitor.db.HibernateTemplate.batchSave(HibernateTemplate.java:122)
at com.wasu.monitor.service.NewdcErrordataService.save(NewdcErrordataService.java:121)
at com.wasu.monitor.service.NewdcErrordataService$$FastClassBySpringCGLIB$$ede15180.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:711)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
at com.wasu.monitor.service.NewdcErrordataService$$EnhancerBySpringCGLIB$$ac233e9a.save(<generated>)
at com.wasu.monitor.quartz.SpringQuartz.newdc_errordata_save(SpringQuartz.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:269)
at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:321)
at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:111)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
提示好像是说存在事物嵌套,就是说事物至少开启了2次,于是我修改代码(即去掉事物控制代码部分)
修改前:
@Override public int batchSave(List<T> ts) { Session session = sessionFactory.getCurrentSession(); Transaction tx = session.beginTransaction(); for (int i = 0; i < ts.size(); i++) { Object obj = ts.get(i); session.save(obj); if (i % 20 == 0) { session.flush(); session.clear(); } } session.flush(); session.clear(); tx.commit(); log.info("保存了" + ts.size() + "记录"); return ts.size(); }
修改后:
@Override public int batchSave(List<T> ts) { Session session = sessionFactory.getCurrentSession(); for (int i = 0; i < ts.size(); i++) { Object obj = ts.get(i); session.save(obj); if (i % 20 == 0) { session.flush(); session.clear(); } } session.flush(); session.clear(); log.info("保存了" + ts.size() + "记录"); return ts.size(); }
修改后再次测试,数据成功插入!看来还真是事物嵌套造成!呵呵!
发表评论
-
ORA-12505, TNS:listener does not currently know of SID given in connect descript
2017-05-11 18:10 1324数据对接时需要连接对方的Oracle数据库,但程序在运行时出错 ... -
Failed to introspect annotations: interface com.xxx
2016-07-16 17:22 3786在使用maven打包发布项目时发现在tomcat容器中正常启动 ... -
MYSQL server has gone away
2016-07-08 20:08 591在使用命令source导入SQL数据时报错如下: 造成此问 ... -
java.io.NotSerializableException: java.util.ArrayList$SubList
2016-03-15 11:36 2785错误信息: 原代码: if (null != dto ... -
java.lang.IllegalStateException: Form too large586563>200000
2015-12-16 19:49 1982错误信息: java.lang.IllegalStateExc ... -
java.lang.IllegalStateException: Form too large586563>200000
2015-12-16 19:49 24错误信息: java.lang.IllegalStateExc ... -
The function size must be used with a prefix when a default namespace is not
2015-07-30 21:39 4159错误信息: 20:23:34.035 %PARSER_ERRO ... -
java.lang.NoSuchMethodError: org.springframework.expression.spel.SpelParserConfi
2015-07-30 09:41 9893错误信息: [WARNING] FAILED remoting ... -
getOutputStream() has already been called for this response
2015-07-24 09:55 2492错误信息: SEVERE: Servlet.service() ... -
spring aop未执行问题记录
2015-07-03 11:54 1395在类com.ipharmacare.plat.service. ... -
struts2传递参数时造成的404问题记录
2015-06-29 20:44 1003今天使用form表单提交数据时提示404错误,但当我直接在浏览 ... -
quorum.QuorumCnxManager: Cannot open channel to 2 at election address
2015-04-02 15:38 8243在进行hbase分布式安装时出现了如下信息: quorum.Q ... -
could only be replicated to 0 nodes, instead of 1
2015-03-28 17:51 2571用三台Linux搭建hadoop环 ... -
Does not contain a valid host:port authority: file:///
2015-03-08 15:15 1651Does not contain a valid host:p ... -
java.sql.SQLException: Can't call commit when autocommit=true
2015-01-30 11:22 4331错误信息: 一月 30, 2015 11:10:16 上午 o ... -
Shutting down 'proxoolDataSource' pool immediately [Shutdown Hook]
2014-07-19 23:03 1747错误信息如下: 原因是ProxoolDataSource的m ... -
org.apache.ibatis.binding.BindingException: Parameter 'ids' not found. Available
2014-06-13 16:01 1930MyBatis批量操作报错:Parameter 'xxxLis ... -
Manual close is not allowed over a Spring managed SqlSession
2014-05-28 21:34 26596整合spring与MyBatis时出现如下警告: [org.s ... -
log4j无日志输出
2014-05-21 15:31 1386今天在运行测试项目时发现没有日志输出(控制台和文件中都没日志输 ... -
class org.springframework.scheduling.quartz.CronTriggerBean
2014-05-09 08:56 2840提示错误信息:java.lang.IncompatibleCl ...
相关推荐
org.hibernate.TransactionException: JDBC rollback failed
Hibernate4(关系映射-事务-原理-性能和二级缓存-最佳实践).Hibernate4(关系映射-事务-原理-性能和二级缓存-最佳实践).
布式事务听起来很不错,其实不然。它只是尽可能的降低数据不一致的可能性,并不能完全避免。从我的应用中来看,总数约5千万的操作,错了十几个。当然,这个错误率完全可以忍受了。不能忍受的是当你的DB在cluster...
│ hibernate.cfg.xml │ HibernateDaoImpl.java │ HibernateSessionFactory.java │ HibernateUtil.java │ JsonUtil.java │ list.txt │ log4j.properties │ messageResource_zh_CN.properties │ spring.xml ...
HibernateInterceptor HibernateJdbcException HibernateJdbcException HibernateJpaDialect HibernateJpaVendorAdapter HibernateObjectRetrievalFailureException HibernateObjectRetrievalFailureException...
$result[0]) throw new TransactionException(PDO_ERROR_CODE, '更新用户失败', $result); }); echo_msg('注册成功'); //可以直接提交json,用下面方式接收 $newUser = request_object(); //$newUser = ...