2011-08-11 11:07:07.576::WARN: Nested in org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [0];
--- The error occurred in sqlmap/SITE_SqlMap.xml.
--- The error occurred while applying a parameter map.
--- Check the SITE.insert-InlineParameterMap.
--- Check the parameter mapping for the 'schedule' property.
--- Cause: java.lang.IllegalStateException: Spring transaction synchronization needs to be active for setting values in iBATIS TypeHandlers that delegate to a Spring LobHandler; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in sqlmap/SITE_SqlMap.xml.
--- The error occurred while applying a parameter map.
--- Check the SITE.insert-InlineParameterMap.
--- Check the parameter mapping for the 'schedule' property.
--- Cause: java.lang.IllegalStateException: Spring transaction synchronization needs to be active for setting values in iBATIS TypeHandlers that delegate to a Spring LobHandler:
java.lang.IllegalStateException: Spring transaction synchronization needs to be active for setting values in iBATIS TypeHandlers that delegate to a Spring LobHandler
at org.springframework.orm.ibatis.support.AbstractLobTypeHandler.setParameter(AbstractLobTypeHandler.java:95)
at com.ibatis.sqlmap.engine.mapping.parameter.ParameterMap.setParameter(ParameterMap.java:173)
at com.ibatis.sqlmap.engine.mapping.parameter.ParameterMap.setParameters(ParameterMap.java:133)
at com.ibatis.sqlmap.engine.execution.DefaultSqlExecutor.executeUpdate(DefaultSqlExecutor.java:75)
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.sqlExecuteUpdate(MappedStatement.java:216)
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:94)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:404)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:82)
at org.springframework.orm.ibatis.SqlMapClientTemplate$8.doInSqlMapClient(SqlMapClientTemplate.java:366)
用了spring3也有一段时间了,但是今天竟然在clob类型上折腾得要死要活的,主要是报了上面的一个异常,这个异常说的是操作clob时要在事务里面管理,否则不给你艹。
但是让我郁闷的是我已经在逻辑类头加了
@Transactional(propagation=Propagation.REQUIRED, rollbackFor=Exception.class)
这样的事务管理,为什么还是不行呢?狗日的,最后没办法按照网上的一篇文章解决了这个问题,如下:
参考链接:http://blog.csdn.net/cwb1128/article/details/4342141
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>
<bean id="transactionManagerRootProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
abstract="true">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="proxyTargetClass">
<value>false</value>
</property>
<property name="transactionAttributes">
<props>
<prop key="insert*">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="update*">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="select*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
<bean id="nativeJdbcExtractor"
class="org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor"
lazy-init="true" />
<bean id="oracleLobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler"
lazy-init="true">
<property name="nativeJdbcExtractor">
<ref local="nativeJdbcExtractor" />
</property>
</bean>
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="F:/39project/R/src/main/resources/SqlMapConfig.xml"/>
<property name="dataSource" ref="dataSource" />
<property name="lobHandler">
<ref local="oracleLobHandler" />
</property>
</bean>
<bean id="siteDao" class="net.health.adr.admin.dao.ibatis.SiteDaoImpl">
<property name="sqlMapClient" ref="sqlMapClient"/>
</bean>
<bean id="siteProxyDao" parent="transactionManagerRootProxy">
<property name="target">
<ref bean="siteDao" />
</property>
</bean>
SiteDao siteDao = (SiteDao) ctx.getBean("siteProxyDao");
总算可以插入,深深的插入进去了,艹
但是为什么不能用注解事务配置呢?还有待研究
分享到:
相关推荐
本示例“spring-transaction-synchronization”主要探讨的是Spring的事务同步机制,这在多线程环境下处理数据库操作时尤其关键。下面将详细阐述相关知识点。 1. **Spring事务管理** - **声明式事务管理**:Spring...
之前一直找原因,最后知道了解决方法,具体请下载源码查看。特别是用到throw的事务中
这个名为"springTransaction.rar"的压缩包文件包含了一个关于Spring事务管理的小型示例,旨在演示如何使用Spring的事务传播机制来处理数据库操作,特别是转账功能的实现。 首先,让我们了解一下什么是事务。在...
本篇主要聚焦于"Spring 常用 Transaction Annotation",即声明式事务管理,这是一种更简洁、易于维护的事务控制方式。 首先,Spring的声明式事务管理基于AOP(面向切面编程),它允许我们在不修改业务代码的情况下...
"spring-transaction.jar"正是提供了Spring事务管理的类库,它包含了一系列用于处理事务的接口、类和配置元素,使得开发者能够方便地实现事务控制。 一、Spring 事务管理概述 Spring事务管理分为编程式事务管理和...
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.transaction.interceptor.TransactionInterceptor#0': Error setting property values; nested ...
org.springframework.transaction-3.2.2.RELEASE最新版本
### Spring中的Transaction事务传播行为种类详解 #### 一、引言 在开发基于Spring框架的应用程序时,事务管理是确保数据一致性的重要手段之一。Spring框架提供了丰富的事务管理功能,其中包括了事务传播行为...
在实际项目中,`springtransaction`工程可能是包含了一个完整的示例,用于演示如何在MyEclipse环境中配置和使用Spring的事务管理功能。开发者可以通过导入此工程,学习和实践Spring事务管理的配置与使用,从而更好地...
Spring was originally conceived as a way to simplify Java Enterprise Edition (JEE) development, but it’s not exactly a simple framework. It’s huge. The core framework is large, and dozens of ...
Spring中的事务管理问题:org.springframework.transaction-3.1.0.M1.jar包。org.springframework.transaction-3.1.0.M1.jar包。
org.springframework.transaction-3.1.0.M2
org.springframework.transaction-3.1.0.M1.jar
分布式事务框架LCN支持springcloud 2.0.5 ,transaction-springcloud-4.1.2.jar
本篇文章将深入探讨Spring的事务管理机制,特别是如何实现事务的挂起(Transaction Suspension),并展示如何利用Spring的声明式事务管理来处理POJO(Plain Old Java Object)对象,同时使用JTA(Java Transaction ...
org.springframework.transaction-3.2.4.RELEASE.jar,最新版的org.springframework.transaction,Wed Aug 07 16:44:37 GMT+01:00 2013
### Spring in Action 第二版 —— 详尽解析与学习指南 #### 一、书籍概述 《Spring in Action》第二版是一本深受开发者喜爱的技术书籍,由Craig Walls和Ryan Breidenbach共同撰写,并由Manning出版社出版。这本书...
12. Spring Transaction Management 13. Spring Batch 14. Spring NoSQL and Big Data 15. Spring Java Enterprise Services and Remoting Technologies 16. Spring Messaging 17. Spring Integration 18. Spring ...