<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    vickzhu

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      151 隨筆 :: 0 文章 :: 34 評論 :: 0 Trackbacks
    錯誤代碼:
    org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER) - turn your Session into FlushMode.AUTO or remove 'readOnly' marker from transaction definition
    錯誤原因:
    OpenSessionInViewFilter在getSession的時候,會把獲取回來的session的flush mode 設為FlushMode.NEVER。然后把該sessionFactory綁定到TransactionSynchronizationManager,使request的整個過程都使用同一個session,在請求過后再解除該sessionFactory的綁定,最后closeSessionIfNecessary根據(jù)該session是否已和transaction綁定來決定是否關閉session。在這個過程中,若HibernateTemplate 發(fā)現(xiàn)自當前session有不是readOnly的transaction,就會獲取到FlushMode.AUTO Session,使方法擁有寫權限。
    也即是,如果有不是readOnly的transaction就可以由Flush.NEVER轉(zhuǎn)為Flush.AUTO,擁有insert,update,delete操作權限,如果沒有transaction,并且沒有另外人為地設flush model的話,則doFilter的整個過程都是Flush.NEVER。所以受transaction保護的方法有寫權限,沒受保護的則沒有。
    參考文章:
    http://calvin.blog.javascud.org/post/46.htm
    解決辦法:
    采用spring的事務聲明,使方法受transaction控制
    <bean id="baseTransaction"
    class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
    abstract="true">
    <property name="transactionManager" ref="transactionManager"/>
    <property name="proxyTargetClass" value="true"/>
    <property name="transactionAttributes">
    <props>
    <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
    <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
    <prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>
    <prop key="save*">PROPAGATION_REQUIRED</prop>
    <prop key="add*">PROPAGATION_REQUIRED</prop>
    <prop key="update*">PROPAGATION_REQUIRED</prop>
    <prop key="remove*">PROPAGATION_REQUIRED</prop>
    </props>
    </property>
    </bean>
        <bean id="userService" parent="baseTransaction">
    <property name="target">
    <bean class="com.phopesoft.security.service.impl.UserServiceImpl"/>
    </property>
    </bean>

    posted on 2008-12-11 11:20 筱 筱 閱讀(441) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 亚洲国产成人精品无码一区二区| 香蕉免费看一区二区三区| 亚洲中文字幕在线第六区| 成人免费大片免费观看网站| 男女猛烈无遮掩视频免费软件| 亚洲精品美女在线观看| 亚洲日本中文字幕一区二区三区| 免费观看美女用震蛋喷水的视频| 瑟瑟网站免费网站入口| 亚洲综合在线另类色区奇米| 无码人妻久久一区二区三区免费丨 | 亚洲AV伊人久久青青草原| 91精品手机国产免费| 无码免费又爽又高潮喷水的视频| 国产成人精品日本亚洲直接 | 久久久WWW成人免费精品| 日韩毛片在线免费观看| 亚洲另类无码专区首页| 亚洲人精品亚洲人成在线| 亚洲网址在线观看| 亚洲男人天堂2017| 亚洲va久久久噜噜噜久久天堂| 亚洲线精品一区二区三区| 中文字幕亚洲综合久久男男| 久久久青草青青国产亚洲免观| 亚洲区日韩区无码区| 亚洲国产日韩成人综合天堂 | 一级毛片免费观看不收费| 青青草国产免费国产是公开| 污视频网站在线观看免费| 精品一区二区三区无码免费直播| 成人亚洲国产精品久久| 美女羞羞免费视频网站| 免费一区二区无码视频在线播放| 色噜噜狠狠色综合免费视频| 亚洲国产精品网站在线播放| 男男gay做爽爽的视频免费| 一级成人a免费视频| 韩日电影在线播放免费版| 国产免费爽爽视频在线观看| 久久久精品2019免费观看|