spring配置hibernate映射文件


spring對hibernate配置文件(hibernate.cfg.xml)的集成相當好,常用spring的org.springframework.orm.hibernate.LocalSessionFactoryBean來取代hibernate.cfg.xml文件的功能。LocalSessionFactoryBean有幾種屬性用來查找hibernate映射文件,以下做簡單使用介紹。

它們的區別


 

mappingResources:指定classpath下具體映射文件名

<property name="mappingResources">
    <list>
        <value>XXX.hbm.xml </value>
        <value>XXX.hbm.xml </value>
        <value>... </value>
    </list>
</property> 

 有多少hbm文件就要一一指定,比較繁瑣,而且不易維護,有時在添加了新的class后會遺忘這里配置上相應的hbm。

 

 

mappingLocations:可以指定任何文件路徑(包括映射文件的文件名)

file:

<property name="mappingLocations">
    <list>
        <!-- file -->
        <value>/WEB-INF/petclinic.hbm.xml </value>
        <value>/WEB-INF/... </value>
    </list>
</property>

classpath:

<property name="mappingLocations">
    <list>
        <!-- classpath -->
        <value>classpath:/com/company/domain/petclinic.hbm.xml </value>
        <value>classpath:...</value>
    </list>
</property>

也可以用通配符指定,'*'指定一個文件(路徑)名,'**'指定多個文件(路徑)名:

<property name="mappingLocations">
        <value>classpath:/com/company/domain/*maps/*.hbm.xml </value>
</property>

上面的配置是在com/company/domain包下任何maps路徑下的hbm.xml文件都被加載為映射文件。

 

 


mappingDirectoryLocations:指定映射的文件路徑(只是映射文件所在的目錄)

file:

<property name="mappingDirectoryLocations">
        <!-- file -->
        <value>/WEB-INF/mymappingpath</value>
</property>

classpath:

<property name="mappingDirectoryLocations">
        <!-- classpath -->
        <value>classpath:/package/hbm</value>
</property>

 

 

mappingJarLocations:指定加載的映射文件在jar文件中(此方法可能不常用,暫無示例)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM