首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

LocalSessionFactoryBean加载Hibernate 照射的几种方式及区别

2012-07-05 
LocalSessionFactoryBean加载Hibernate 映射的几种方式及区别LocalSessionFactoryBean有好几个属性用来查

LocalSessionFactoryBean加载Hibernate 映射的几种方式及区别
LocalSessionFactoryBean有好几个属性用来查找hibernate映射文件:
mappingResources、mappingLocations、mappingDirectoryLocations与mappingJarLocations
他们的区别:
mappingResources:指定classpath下具体映射文件名
Java代码 
<property name="mappingResources" value=“userTest.hbm.xml”/> 
或者利用list同时指定多个 映射文件
Xml代码 
<property name="mappingResources"> 
            <list> 
                <value>cn/com/env/DAO/tusers/Tusers.hbm.xml</value> 
                <value>cn/com/env/DAO/projectNeed/Tprojectneed.hbm.xml</value> 
                <value>cn/com/env/DAO/projectNeedA/Tprojectneeda.hbm.xml</value> 
            </list> 
</property> 

mappingLocations:可以指定任何文件路径,并且可以指定前缀:classpath、file等
Xml代码 
<property name="mappingLocations" value="/WEB-INF/usetTest.hbm.xml"/> 
<property name="mappingLocations" value="classpath:com/myproject/domain/userTest.hbm.xml"/> 

也可以用通配符指定,'*'指定一个文件(路径)名,'**'指定多个文件(路径)名,例如:
Xml代码 
<property name="mappingLocations" value="classpath:com/myproject/domain/**/*.hbm.xml"/> 


<!-- 用通配符解决mappingResources的繁琐配置 -->
    <property name="mappingLocations">
        <list>
            <value>classpath*:com/yb/vo/*.hbm.xml</value>
            <value>classpath*:org/fireflow/engine/persistence/hibernate/*.hbm.xml</value>
        </list>
    </property>


上面的配置是在com/myporject/domain包下任何路径下的hbm.xml文件都被加载为映射文件mappingDirectoryLocations:指定映射的文件路径
Xml代码 
<property name="mappingDirectoryLocations"> 
      <list> 
        <value>/WEB-INF/classes/com/hjy/model/survey</value> 
      </list> 
</property> 

mappingJarLocations:指定加载的映射文件在jar文件

热点排行