spring 事务管理问题,在线等~ 你userinfoDAO里的有save这个方法吗?或者用一个别的方法名,例如,saveObject。然后配置文件改为<prop key="save*">PROPAGATION_REQUIRED </prop> </props> ,先看看。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我想看一下你处理Blob字段的代码 public void save(Userinfo transientInstance) { log.debug("saving Userinfo instance"); try { getHibernateTemplate().save(transientInstance); log.debug("save successful"); } catch (RuntimeException re) { log.error("save failed", re); throw re; } }这是dao里的方法...hiberbate 楼上的就是了 用的hibernate 需要为blob做特殊的处理吗 org.springframework.jdbc.support.lob.LobCreatorUtils.registerTransactionSynchronization(LobCreatorUtils.java:79) 你看抛出的异常,第一段局势lob处理的错误.肯定是你没有对blob字段进行特殊处理的然后你看下的spring的配置,用的是Hibernate,为什么把事物管理器配制成JDBC,应该是HibernateTransactionManager才对啊 好了!<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"> </property> <property name="url" value="jdbc:mysql://localhost:3306/test"></property> <property name="username" value="root"></property> <property name="password" value="lipei"></property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop> </props> </property> <property name="mappingResources"> <list> <value>org/lipei/struts/temp/Userinfo.hbm.xml</value> <value>cn/trade/temp/Goodsphoto.hbm.xml</value> <value>cn/trade/temp/User.hbm.xml</value> <value>cn/trade/temp/Goods.hbm.xml</value></list> </property> <property name="lobHandler" ref="lobHandler" /> </bean> <bean id="lobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler" lazy-init="true"> </bean> <!-- 配置事务拦截器--> <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor"> <!-- 事务拦截器bean需要依赖注入一个事务管理器 --> <property name="transactionManager" ref="transactionManager" /> <property name="transactionAttributes"> <!-- 下面定义事务传播属性--> <props> <prop key="insert*">PROPAGATION_REQUIRED</prop> <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop> <prop key="*">PROPAGATION_REQUIRED</prop> <prop key="save*">PROPAGATION_REQUIRED</prop> </props> </property> </bean> <!-- 定义BeanNameAutoProxyCreator,该bean是个bean后处理器,无需被引用,因此没有id属性 这个bean后处理器,根据事务拦截器为目标bean自动创建事务代理 <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> 指定对满足哪些bean name的bean自动生成业务代理 --> <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <property name="beanNames"> <!-- 下面是所有需要自动创建事务代理的bean--> <list> <value>userinfoService</value> </list> <!-- 此处可增加其他需要自动创建事务代理的bean--> </property> <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器--> <property name="interceptorNames"> <list> <value>transactionInterceptor</value> <!-- 此处可增加其他新的Interceptor --> </list> </property> </bean> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean> <bean id="userinfoDAO" class="org.lipei.dao.UserinfoDAO"> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean> <bean id="userinfoService" class="org.lipei.struts.service.UserinfoService" abstract="false" lazy-init="default" autowire="default" dependency-check="default"> <property name="userinfoDAO"> <ref bean="userinfoDAO" /> </property> </bean> <bean name="/userinfo" class="org.lipei.struts.action.UserinfoAction" abstract="false" lazy-init="default" autowire="default" dependency-check="default"> <property name="userinfoService"> <ref bean="userinfoService" /> </property> </bean> <bean name="/userlist" class="org.lipei.struts.action.UserlistAction" abstract="false" lazy-init="default" autowire="default" dependency-check="default"> <property name="userinfoService"> <ref local="userinfoService" /> </property> </bean> <!--bean name="/dispPic" class="org.lipei.struts.action.DispPicAction" abstract="false" lazy-init="default" autowire="default" dependency-check="default"> <property name="userinfoDAO"> <ref bean="userinfoDAO" /> </property> </bean--> </beans> jsp taglib 报错问题,can't find the taglibrary for 。。。 Excel导入功能因为架设到服务器上导致找不到路径 收集一下,面高级软件工程师的题目 这段代码哪的问题? 输入框的下拉框怎么来的? 在jboss下发布邮件发送时遇到麻烦 jdbc配置不成功。。郁闷了。大家来看看 求websphere v5的补丁下载网址 发起成立一个j2ee学习互助小组,欢迎加入! Hibernate 中 update 不执行,不报错 hql 的问题 极度让我头疼 快来帮忙 得分多多 今天学习的时候,有一个对hibernate拦截器的疑问
log.debug("saving Userinfo instance");
try {
getHibernateTemplate().save(transientInstance);
log.debug("save successful");
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
}
这是dao里的方法...hiberbate
你看抛出的异常,第一段局势lob处理的错误.
肯定是你没有对blob字段进行特殊处理的
然后你看下的spring的配置,用的是Hibernate,为什么把事物管理器配制成JDBC,应该是HibernateTransactionManager才对啊
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.mysql.jdbc.Driver">
</property>
<property name="url" value="jdbc:mysql://localhost:3306/test"></property>
<property name="username" value="root"></property>
<property name="password" value="lipei"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>org/lipei/struts/temp/Userinfo.hbm.xml</value>
<value>cn/trade/temp/Goodsphoto.hbm.xml</value>
<value>cn/trade/temp/User.hbm.xml</value>
<value>cn/trade/temp/Goods.hbm.xml</value></list>
</property>
<property name="lobHandler" ref="lobHandler" /> </bean>
<bean id="lobHandler"
class="org.springframework.jdbc.support.lob.DefaultLobHandler"
lazy-init="true">
</bean>
<!-- 配置事务拦截器-->
<bean id="transactionInterceptor"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<!-- 事务拦截器bean需要依赖注入一个事务管理器 -->
<property name="transactionManager" ref="transactionManager" />
<property name="transactionAttributes">
<!-- 下面定义事务传播属性-->
<props>
<prop key="insert*">PROPAGATION_REQUIRED</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="*">PROPAGATION_REQUIRED</prop>
<prop key="save*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<!-- 定义BeanNameAutoProxyCreator,该bean是个bean后处理器,无需被引用,因此没有id属性
这个bean后处理器,根据事务拦截器为目标bean自动创建事务代理
<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
指定对满足哪些bean name的bean自动生成业务代理 -->
<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<!-- 下面是所有需要自动创建事务代理的bean-->
<list>
<value>userinfoService</value>
</list>
<!-- 此处可增加其他需要自动创建事务代理的bean-->
</property>
<!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
<!-- 此处可增加其他新的Interceptor -->
</list>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean> <bean id="userinfoDAO" class="org.lipei.dao.UserinfoDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="userinfoService"
class="org.lipei.struts.service.UserinfoService" abstract="false"
lazy-init="default" autowire="default" dependency-check="default">
<property name="userinfoDAO">
<ref bean="userinfoDAO" />
</property>
</bean>
<bean name="/userinfo"
class="org.lipei.struts.action.UserinfoAction" abstract="false"
lazy-init="default" autowire="default" dependency-check="default">
<property name="userinfoService">
<ref bean="userinfoService" />
</property>
</bean>
<bean name="/userlist"
class="org.lipei.struts.action.UserlistAction" abstract="false"
lazy-init="default" autowire="default" dependency-check="default">
<property name="userinfoService">
<ref local="userinfoService" />
</property>
</bean>
<!--bean name="/dispPic"
class="org.lipei.struts.action.DispPicAction" abstract="false"
lazy-init="default" autowire="default" dependency-check="default">
<property name="userinfoDAO">
<ref bean="userinfoDAO" />
</property>
</bean-->
</beans>