spring載入hibernate對應檔的幾種方式 (轉)

來源:互聯網
上載者:User

標籤:

在Spring的applicationContext.xml中配置對應檔,通常是在<sessionFactory>這個 Bean執行個體中進行的,若配置的對應檔較少時,可以用sessionFactory的所屬類LocalSessionFactoryBean的 “mappingResources”屬性,方式包括(mappingResources,mappingLocations、 mappingDirectoryLocations與mappingJarLocations )定義方法如下:

 第一種:

<property name="mappingResources">

    <list>

    <value>com/w3cs/vlar/hibernate/Person.hbm.xml</value>

    <value>com/w3cs/vlar/hibernate/Car.hbm.xml</value>

    <value>com/w3cs/vlar/hibernate/Engine.hbm.xml</value>

    <value>com/w3cs/vlar/hibernate/Toy.hbm.xml</value>

    </list>

</property>

當設定檔變得越來越多,閱讀和修改起來也越來越麻煩,而且基於XML的配置也可能帶來輸入的錯誤,導致你可能因為一個字元的錯誤而浪費半天時間去尋找錯誤。

 第二種:

在這種情況下,可以使用LocalSessionFactoryBean的“mappingDirectoryLocations”屬性來定義對應檔,只要指出對應檔所在檔案夾就可以了,Spring會替你找出該檔案夾內所有的對應檔,定義方法如下:

<property name="mappingDirectoryLocations">

    <list>

       <value>WEB-INF/mappings</value>

    </list>

</property>

第三種:

當然,它的屬性值也可以通過classpath來指出,這時所指定的是工程的類路徑

<property name="mappingDirectoryLocations">

     <list>

         <value>classpath:/my/package/*.hbm.xml</value>

     </list>

</property>

第四種:

<!-- 增加了對大對象欄位處理配置Begin -->
 <bean id ="oracleLobHandler" 
      class ="org.springframework.jdbc.support.lob.OracleLobHandler" 
      lazy-init ="true" >  
      <property  name ="nativeJdbcExtractor"  ref ="nativeJdbcExtractor" />
  </bean>    
 
  <bean id ="nativeJdbcExtractor"  class ="org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor"
      lazy-init ="true"/>
     <!-- 增加了對大對象欄位處理配置End -->

<!--  定義Hibernatte架構中需要的SesscionFactory對象//-->
 <bean id="sessionFactory"
  class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  <property name="dataSource" ref="dataSource" />
  <!--增加了對大對象欄位處理配置Begin -->
  <property name ="lobHandler" ref ="oracleLobHandler"/>
  <!--增加了對大對象欄位處理配置End -->
  <property name="mappingDirectoryLocations">
       <list>
         <value>classpath:/my/package/login/dao/pojo/</value>
         <value>classpath:/my/package/jpf/dao/pojo/</value>
         ......

       </list>
  </property>

spring載入hibernate對應檔的幾種方式 (轉)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.