<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)站導航:
     
    主站蜘蛛池模板: JLZZJLZZ亚洲乱熟无码| 成年女人免费视频播放77777 | 男人免费视频一区二区在线观看| 亚洲AV无码专区亚洲AV伊甸园| 无遮挡呻吟娇喘视频免费播放| 国产免费av片在线无码免费看| 亚洲av成人一区二区三区观看在线| 日本高清免费aaaaa大片视频| 国产亚洲美女精品久久久2020| 一区视频免费观看| 亚洲人成色7777在线观看| 天黑黑影院在线观看视频高清免费| 亚洲国产精品一区二区第一页 | 中国在线观看免费的www| 亚洲精品无码AV人在线播放| 亚洲精品乱码久久久久久V| 日本大片在线看黄a∨免费| 色费女人18女人毛片免费视频| 亚洲区日韩区无码区| 日本一区午夜艳熟免费| 啊v在线免费观看| 久久久久久噜噜精品免费直播| 亚洲av无码一区二区三区乱子伦 | 国产精品亚洲一区二区三区久久| 亚洲AⅤ无码一区二区三区在线 | 亚洲日本VA午夜在线电影| 国产v片免费播放| 国产一级一毛免费黄片| 亚洲国产亚洲片在线观看播放| 男女啪啪永久免费观看网站| 久久av免费天堂小草播放| 91在线亚洲精品专区| 免费国产a国产片高清| 中文成人久久久久影院免费观看| 亚洲精品人成电影网| 中国一级特黄的片子免费| 亚洲日本在线播放| 亚洲精品tv久久久久久久久久| 久久久精品2019免费观看| 国产亚洲福利一区二区免费看| 亚洲成A人片在线观看WWW|