<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)航:
     
    主站蜘蛛池模板: 一个人看的www免费高清| 久久国产乱子伦精品免费一| 立即播放免费毛片一级| 免费在线中文日本| 亚洲高清专区日韩精品| 日本亚洲高清乱码中文在线观看| 成人影片一区免费观看| 国产一级淫片免费播放| 亚洲综合网美国十次| 久久国产精品免费一区二区三区| 性感美女视频免费网站午夜| 亚洲成a人片在线观看无码专区| A片在线免费观看| 亚洲AV无码第一区二区三区| 新最免费影视大全在线播放| 手机在线毛片免费播放| 久久久无码精品亚洲日韩按摩 | 亚洲人成电影网站色www| 久久精品无码专区免费青青| 久久亚洲精品无码播放| 国产精品亚洲一区二区三区| 亚洲天堂中文字幕在线| 亚洲youwu永久无码精品| AV免费网址在线观看| 亚洲午夜电影在线观看| 99re免费视频| 亚洲日本va午夜中文字幕一区| 二区久久国产乱子伦免费精品| 亚洲第一黄片大全| 色哟哟国产精品免费观看| 亚洲va久久久噜噜噜久久男同 | 久久中文字幕免费视频| 亚洲日韩在线观看| 2021在线永久免费视频| 亚洲欧洲日韩不卡| 在线观看免费a∨网站| 国产99精品一区二区三区免费| 国产福利电影一区二区三区,亚洲国模精品一区 | 好爽又高潮了毛片免费下载| 一级片在线免费看| 亚洲欧洲精品在线|