寫程序,做產(chǎn)品,過日子

          成功其實很簡單,就是強迫自己堅持下去

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            69 Posts :: 1 Stories :: 92 Comments :: 0 Trackbacks

          Spring對Hibernate Session Factory提供了高度封裝。如下例所示。

          <bean id="mySessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
          <property name="dataSource" ref="myDataSource"/>
          <property name="mappingResources">
          <list>
          <value>product.hbm.xml</value>
          </list>
          </property>
          <property name="hibernateProperties">
          <value>
          hibernate.dialect=org.hibernate.dialect.HSQLDialect
          </value>
          </property>
          </bean>

          然而,在我的案例中,因為業(yè)務需要,我們必須在運行時加入新的HBM。在單獨使用Hibernate的時,只要取到Hiberante Configuration對象,修改一下配置,然后rebuild session factory就可以了。

          可是經(jīng)Spring這一封裝,我只能取到一個只讀的SessionFactory對象,無法進行重置。

          這里有兩種可能方法,但我都不知道如何做。

          1,取到LocalSessionFactoryBean對象進行重置。

          2,取到Hibernate Configuration對象進行重置。

          Technorati : , ,

          posted on 2007-06-11 17:46 Welkin Hu 閱讀(4517) 評論(5)  編輯  收藏 所屬分類: Java

          Feedback

          # re: Spring中如何獲取和重置一個BeanFactory對象?或者說,如何動態(tài)修改Hibernate Configuration? 2007-06-11 19:08 dennis
          你是怎么得到SessionFactroy的呢?HibernateDaoSupport的getSessionFactory得到的就是原生的SessionFactroy啊  回復  更多評論
            

          # re: Spring中如何獲取和重置一個BeanFactory對象?或者說,如何動態(tài)修改Hibernate Configuration? 2007-06-11 19:24 dennis
          明白你的意思了,你是要得到Hibernate Configuration對象,重新build SessionFactroy吧。
          你需要從ApplicationContext中得到LocalSessionFactoryBean,然后利用LocalSessionFactoryBean的newSessionFactory方法得到一個新的SessionFactroy或者getConfiguration()得到Configuration對象,前提你的bean要實現(xiàn)ApplicationContextAware接口得到Context對象,然后:
          LocalSessionFactoryBean localSessionFactroyBean=(LocalSessionFactoryBean )ctx.getBean("&mySessionFactory");

          Configuration=localSessionFactroyBean.getConfiguration();

          加上符號&就可以引用到FactroyBean本身。不過這樣一來你就要自己將SessionFactroy設置到HibernateTemplate  回復  更多評論
            

          # re: Spring中如何獲取和重置一個BeanFactory對象?或者說,如何動態(tài)修改Hibernate Configuration? 2007-06-12 09:03 Welkin Hu
          @dennis
          老大高啊!一下子就找到我想要的解決辦法了。俺馬上就試試。  回復  更多評論
            

          # re: Spring中如何獲取和重置一個BeanFactory對象?或者說,如何動態(tài)修改Hibernate Configuration? 2007-08-16 17:40 rmonk
          為什么Configuration.buildSessionFactory()后會報
          org.hibernate.HibernateException: No local DataSource found for configuration - dataSource property must be set on LocalSessionFactoryBean  回復  更多評論
            

          # re: Spring中如何獲取和重置一個BeanFactory對象?或者說,如何動態(tài)修改Hibernate Configuration? 2013-08-26 11:18 grandhappy
          @rmonk
          @rmonk
          請問如何解決問題呢
          為什么Configuration.buildSessionFactory()后會報
          org.hibernate.HibernateException: No local DataSource found for configuration - dataSource property must be set on LocalSessionFactoryBean

          謝謝 QQ591965834  回復  更多評論
            

          主站蜘蛛池模板: 长丰县| 敖汉旗| 荆州市| 布拖县| 务川| 巢湖市| 肇源县| 承德县| 巨野县| 锡林浩特市| 屯门区| 衡东县| 垫江县| 堆龙德庆县| 临漳县| 富阳市| 温州市| 抚远县| 烟台市| 孙吴县| 白银市| 尼勒克县| 泾阳县| 武夷山市| 牙克石市| 东台市| 南丹县| 南昌县| 旺苍县| 乌拉特后旗| 福贡县| 天长市| 永顺县| 武邑县| 赤壁市| 横山县| 通辽市| 建湖县| 宁国市| 潮州市| 扶绥县|