hibernate saveOrUpdate()方法執行數據庫操做不成功

saveOrUpdate()方法執行數據庫操做不成功:這個問題是你的hibernate.xml文件中的事物配置不正確。致使更新的數據是瞬時狀態,沒有與Session關聯。spring

具體的配置以下:數據庫

  

<!-- 配置事務管理器 --><bean id="transactionManager"      class="org.springframework.orm.hibernate4.HibernateTransactionManager">    <property name="sessionFactory" ref="sessionFactory"></property>    <property name="globalRollbackOnParticipationFailure" value="false" /></bean><!-- 配置事務加強處理Bean,指定事務管理器 --><tx:advice id="transactionAdvice" transaction-manager="transactionManager">    <!-- 配置詳細事務處理語義 -->    <tx:attributes>        <tx:method name="add*" propagation="REQUIRED" />        <tx:method name="update*" propagation="REQUIRED" />        <tx:method name="delete*" propagation="REQUIRED" />        <tx:method name="save*" propagation="REQUIRED" />        <tx:method name="get*" propagation="SUPPORTS" read-only="true" />        <tx:method name="find*" propagation="SUPPORTS" read-only="true" />        <tx:method name="select*" propagation="SUPPORTS" read-only="true" />        <tx:method name="load*" propagation="SUPPORTS" read-only="true" />        <!-- 其餘採用默認事務方式 -->        <tx:method name="*"/>    </tx:attributes></tx:advice><!-- Spring aop事務管理 --><aop:config>    <!-- 配置切入點 -->    <aop:pointcut id="transactionPointcut"                  expression="execution(* com.xxx.service..*Impl.*(..))" />    <!-- 指定在txAdvice切入點應用txAdvice事務加強處理 -->    <aop:advisor pointcut-ref="transactionPointcut"                 advice-ref="transactionAdvice" /></aop:config>
相關文章
相關標籤/搜索