1. 程式人生 > >spring載入hibernate對映檔案的幾種方式

spring載入hibernate對映檔案的幾種方式

在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會替你找出該資料夾內所有的對映檔案,定義方法如下:     除了mappingDirectoryLocations 寫 packagesToScan 也可以

<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對映檔案方式

在Spring的applicationContext.xml中配置對映檔案,通常是在<sessionFactory>這個Bean例項中進行的,若配置的對映檔案較少時,可以用sessionFactory的所屬類LocalSessionFactoryBean的“mappingResources”屬性

Spring載入Hibernate對映檔案最佳方式

無論*hbm.xml配置檔案多與少,都用下面的配置方式方便又最佳! 使用LocalSessionFactoryBean的“mappingDirectoryLocations”屬性來定義對映檔案, 只需指出對映檔案所在資料夾,Spring會找出該資料夾內所有的對映檔案,

Spring載入applicationContext.xml的方式

1、利用ClassPathXmlApplicationContext可以從CLASSPATH中讀取xml檔案(最常見的使用方式) ApplicationContext context = new ClassPathXmlApplicationContext(

LocalSessionFactoryBean載入Hibernate 對映檔案(hbm.xml)的三方式及區別

在使用spring時需要給LocalSessionFactoryBean類注入hbm.xml檔案。LocalSessionFactoryBean類有好幾個屬性用來注入hibernate對映檔案: mappingResources、mappingLocati

Spring中依賴注入的方式實現鬆耦合

一、普通注入方式: (1)在IDEA工作空間內先建立lib包然後匯入Spring的架包(複製進去的架包要按住滑鼠右鍵出現Add as Library)。 (2)在已經建立好架包的基礎上在src目錄下建立XML檔案,檔案命為applicationContext.xml,需要注意的是我們建

Android載入圖片資源的方式

1. 圖片放在sdcard中,   Bitmap imageBitmap = BitmapFactory.decodeFile(path) (path 是圖片的路徑,跟目錄是/sdcard)     2. 圖片在專案的res資料夾下面   //得到applicat

Spring中屬性注入的方式以及複雜屬性的注入

在Spring框架中,屬性的注入我們有多種方式,我們可以通過構造方法注入,可以通過set方法注入,也可以通過p名稱空間注入,方式多種多樣,對於複雜的資料型別比如物件、陣列、List集合、map集合、Properties等,我們也都有相應的注入方式。  OK,接下來我們就來看看

Spring容器建立物件的方式及其區別

1. 通過類路徑下的配置檔案獲取ApplicationContext    //在建立容器的時候建立物件          特點:佔用記憶體,但效率高 ApplicationContext ac=new ClassPathXmlApplicationContext("cl

Spring中配置資料來源的方式

無論使用什麼形式的Spring DAO支援類,都需要配置資料來源的引用。Spring提供了多個選項,用於在Spring程式裡配置資料庫,其中包括: 1,由JDBC驅動程式定義的資料來源。 2,由JNDI查詢的資料來源。 3,連線池的資料來源。 在Spring裡,我們可以像使用其他

Asp.net下載檔案方式

protected void Button1_Click(object sender, EventArgs e) { /* 微軟為Response物件提供了一個新的方法TransmitFile來解決使用Response.BinaryWrite 下載超過400mb的檔案時導致Aspnet_wp.

Spring監聽配置的方式

方法一:在applicationContext.xml配置檔案中配置 <task:scheduled-tasks>        <!-- 每天凌晨兩點執行  -->        <task:scheduled ref="zginfoServ

Spring】(二)使用Spring進行事務管理的方式

      Spring既是SSH中的一員,也是SSM中的一員。不管是在SSH,還是在SSM中,Spring都起到了十分重要的“管理”作用,不論是對action的管理,還是對Controller的管理

spring例項化bean的方式

1.使用類構造器實現例項化(bean的自身構造器)  1 <bean id = "orderService" class="cn.itcast.OrderServiceBean"/>  2.使用靜態工廠方法實現例項化 1 <bean id =

Spring Ioc-依賴注入的方式

一 setter方法注入 配置檔案如下: <bean id="helloAction" class="org.yoo.action.SpringSetterHelloAction"><!-- setter injection using the nested

spring 初始化ApplicationContext的方式

最近做專案需要用到getBean(),在網上搜索之後發現有很多種方式獲取ApplicationContext,做了些許嘗試,解決了我的問題,決定把搜到的東西進行彙總,供大家學習。 方法一:Fi

載入本地圖片的方式和區別

載入本地圖片在iOS開發中是非常常見的,一般來說,載入本地圖片主要有以下兩種方法,分為兩大類。 一、載入mainBundle的圖片 1、imageNamed 這個方法用一個指定的名字在系統快取中查詢一

asp.net 下載檔案方式

protected void Button1_Click(object sender, EventArgs e)   {   /*   微軟為Response物件提供了一個新的方法TransmitFile來解決使用Response.BinaryWrite   下載超過400mb的檔案時導

spring的注入bean的方式

平常的Java開發中,程式設計師在某個類中需要依賴其它類的方法。 通常是new一個依賴類再呼叫類例項的方法,這種開發存在的問題是new的類例項不好統一管理。 Spring提出了依賴注入的思想,即依賴類不由程式設計師例項化,而是通過Spring容器幫我們new

spring的事務管理有方式實現,如何實現

Spring+Hibernate的實質: 就是把Hibernate用到的資料來源Datasource,Hibernate的SessionFactory例項,事務管理器HibernateTransactionManager,都交給Spring管理。 那麼再沒整

事務有哪些特性?spring的事務管理有方式實現,如何實現?spring 中常用的兩事務配置方式以及事務的傳播性、隔離級別

事務有哪些特性?             1.原子性:一個事務中所有對資料庫的操作是一個不可分割的操作序列,要麼全做要麼全不做            2.一致性:資料不會因為事務的執行而遭到破壞            3.隔離性:一個事物的執行,不受其他事務的干擾,即併發執