<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 設(shè)為FlushMode.NEVER。然后把該sessionFactory綁定到TransactionSynchronizationManager,使request的整個過程都使用同一個session,在請求過后再解除該sessionFactory的綁定,最后closeSessionIfNecessary根據(jù)該session是否已和transaction綁定來決定是否關(guān)閉session。在這個過程中,若HibernateTemplate 發(fā)現(xiàn)自當(dāng)前session有不是readOnly的transaction,就會獲取到FlushMode.AUTO Session,使方法擁有寫權(quán)限。
    也即是,如果有不是readOnly的transaction就可以由Flush.NEVER轉(zhuǎn)為Flush.AUTO,擁有insert,update,delete操作權(quán)限,如果沒有transaction,并且沒有另外人為地設(shè)flush model的話,則doFilter的整個過程都是Flush.NEVER。所以受transaction保護的方法有寫權(quán)限,沒受保護的則沒有。
    參考文章:
    http://calvin.blog.javascud.org/post/46.htm
    解決辦法:
    采用spring的事務(wù)聲明,使方法受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)站導(dǎo)航:
     
    主站蜘蛛池模板: 黄网址在线永久免费观看| 国产精品亚洲产品一区二区三区 | 亚洲一区二区三区在线观看精品中文| 国产精品免费久久| 亚洲国产精品成人久久久| 全部免费国产潢色一级| 免费福利在线视频| 亚洲欧美aⅴ在线资源| 亚洲日韩欧洲乱码AV夜夜摸| 999国内精品永久免费视频| 精品在线视频免费| 亚洲黄色网址大全| 免费h黄肉动漫在线观看| 99在线热视频只有精品免费| 久久亚洲AV成人无码国产电影 | 搡女人免费视频大全| 国产日韩在线视频免费播放| 亚洲一级免费视频| 久久久久久a亚洲欧洲aⅴ| 国内外成人免费视频| 污污网站18禁在线永久免费观看| 亚洲AV无码专区在线观看成人| 久久亚洲精品成人AV| 亚洲精品一级无码中文字幕| 午夜国产精品免费观看| 日韩av无码免费播放| 四虎精品免费永久免费视频| 亚洲人成小说网站色| 久久91亚洲精品中文字幕| 免费一级做a爰片性色毛片| 18勿入网站免费永久| 成人性生交大片免费看好| 免费人成大片在线观看播放| 国产成人精品日本亚洲专| 亚洲av永久无码精品表情包| 亚洲av无码成人精品区在线播放 | 亚洲精品视频在线观看视频| 国产成人精品久久亚洲| 国产免费观看青青草原网站| 免费99精品国产自在现线| 精品无码人妻一区二区免费蜜桃|