LocalSessionFactoryBean加载Hibernate 映射文件(hbm.xml)的三种方式及区别

在Spring中配置LocalSessionFactoryBean时,有三种方式加载Hibernate的映射文件hbm.xml。mappingResources用于指定类路径下具体文件,支持列出多个;mappingLocations则允许指定任意路径,包括classpath或file前缀,支持通配符;mappingDirectoryLocations则用于指定类路径下的某个目录,加载该目录下的所有.hbm.xml文件。这三种方式各有应用场景,其中mappingDirectoryLocations最为常用。

在使用spring时需要给LocalSessionFactoryBean类注入hbm.xml文件。LocalSessionFactoryBean类有好几个属性用来注入hibernate映射文件:

mappingResources、mappingLocations、mappingDirectoryLocations

他们的区别:
mappingResources:指定classpath下具体映射文件名
Java代码

<property name="mappingResources" value=“Person.hbm.xml”/>  

或者利用list同时指定多个 映射文件
Xml代码

<property name="mappingResources">  
            <list>  
                <value>domain/Tusers.hbm.xml</value>  
                <value>domain/Book.hbm.xml</value> 
            </list>  
</property>  

mappingLocations:可以指定任何文件路径,并且可以指定前缀:classpath、file等
Xml代码

<property name="mappingLocations" value="/WEB-INF/Person.hbm.xml"/>  

也可以用通配符指定,’*‘指定一个文件(路径)名,’**’指定多个文件(路径)名,例如:
Xml代码

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

上面的配置是在com/example包下任何路径下的所有hbm.xml文件都被加载

映射文件mappingDirectoryLocations:指定映射的文件路径
Xml代码

<property name="mappingDirectoryLocations">  
      <list>  
        <value>classpath:domain</value>  
      </list>  
</property>  

加载类路径下domain包下的所有.hbm.xml。其中mappingDirectoryLocations使用最广泛。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值