首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

spring1.2调整hibernate3的事务配置

2012-11-11 
spring1.2整合hibernate3的事务配置最近做ssh组合的练习,实现一个用户管理模块,具有用户登陆,注册,用户信

spring1.2整合hibernate3的事务配置

最近做ssh组合的练习,实现一个用户管理模块,具有用户登陆,注册,用户信息修改三个功能,用户登陆时一切正常,注册新用户时出现错误,现问题已经解决,特备忘分享给像我一样的新手。

UserDao

<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.xsd
????? default-autowire="byName">
<!-- 数据源配置dbcp 略 -->
<!-- sessionFactory配置 略-->
<!-- hibernate事务配置 略-->
??? <!-- 事务代理父类 -->
??? <bean id="baseTransactionProxy"
??? ??? />
??? ??? </property>
??? ???
??? ??? <property name="transactionAttributes">
??? ??? ??? <props>
??? ??? ??? ??? <prop key="save*">PROPAGATION_REQUIRED</prop>
??? ??? ??? ??? <prop key="update*">PROPAGATION_REQUIRED</prop>
??? ??? ??? ??? <prop key="delete*">PROPAGATION_REQUIRED</prop>
??? ??? ??? ??? <prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
??? ??? ??? </props>
??? ??? </property>
??? ???
??? ??? <property name="optimize">
??? ??? ??? <value>true</value>
??? ??? </property>
??? </bean>
??? <!-- service -->
??? <bean id="userService"? parent="baseTransactionProxy">
??? ??? <property name="target">
??? ??? ??? <bean class="java">org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction definition.at org.springframework.orm.hibernate3.HibernateTemplate.checkWriteOperationAllowed(HibernateTemplate.java:1095)at org.springframework.orm.hibernate3.HibernateTemplate$16.doInHibernate(HibernateTemplate.java:688)at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372)at org.springframework.orm.hibernate3.HibernateTemplate.saveOrUpdate(HibernateTemplate.java:686)at com.javasky.photo.dao.hibernate.UserDaoHibernate.saveUser(UserDaoHibernate.java:32)at com.javasky.photo.service.impl.UserServiceImpl.saveUser(UserServiceImpl.java:60)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:585)at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:172)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:139)at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)at $Proxy1.saveUser(Unknown Source)at com.javasky.photo.action.UserAction.addUser(UserAction.java:44)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:585)at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:106)at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1192)at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:430)at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:857)at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565)at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)at java.lang.Thread.run(Thread.java:595)

?如有不妥或更好的办法,希望不吝指出,谢谢!

下一篇我将贴出spring2.0整合hibernate3的配置

?

热点排行