小弟在用SSH框架写一个项目,由于在Web.xml中配置了延迟加载,所以在增删改时候遇到以下错误。我不知道怎麽改变事物的自动提交模式,还望高手指点下解决办法!!!错误如下:
javax.servlet.ServletException: Write operations are not allowed in read-only mode (FlushMode.NEVER): Turn your Session into FlushMode.AUTO or remove 'readOnly' er from transaction definition.
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:196)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)

解决方案 »

  1.   

    把你事务控制的配置给修改下,查询的方法设置readonly,
    增删改的就不要设置这个了
      

  2.   

    不会配置 楼上的高手教教我 我之前发了个帖子是关于Spring事务配置的问题 也没有解决呢
      

  3.   

    别把所有的方法的事物都用只读  比如:
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
    <tx:attributes>
    <tx:method name="find*" propagation="REQUIRED" read-only="true" />
    <tx:method name="*" propagation="REQUIRED" />
    </tx:attributes>
    </tx:advice>