spring引入实体类映射文件

由于spring对hibernate配置文件hibernate.cfg.xml的集成相当好 
LocalSessionFactoryBean有好几个属性用来查找hibernate映射文件: 
mappingResources、mappingLocations、mappingDirectoryLocations、mappingJarLocations  他们的区别: 


1. mappingResources:

  指定classpath下具体映射文件名

    <property name="mappingResources"> 

     <value>petclinic.hbm.xml </value> 

   < /property> 


2. mappingLocations:

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

  <property name="mappingLocations"> 
    <value>/WEB-INF/petclinic.hbm.xml <alue>  < /property> 
  < property name="mappingLocations">
    <value>classpath:/com/company/domain/petclinic.hbm.xml <value>

  < /property> 


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

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

  < /property> 
  上面的配置是在com/company/domain包下任何maps路径下的hbm.xml文件都被加载为映射文件  


3. mappingDirectoryLocations:

  指定映射的文件路径  
  <property name="mappingDirectoryLocations"> <list>
    <value>WEB-INF/HibernateMappings<alue> <st>
  < /property>
  也可以通过classpath来指出
  <property name="mappingDirectoryLocations"> <list>
    <value>classpath:/XXX/package/<alue> <st>
  < /property> 


4. mappingJarLocations:

  指定加载的映射文件在jar文件中    
  <property name="mappingLocations">  <list>   <value>classpath*:/com/jeecms/core/entity/hbm/*.hbm.xml</value>
        <value>classpath*:/com/jeecms/cms/entity/main/hbm/*.hbm.xml</value>
  <value>classpath*:/com/jeecms/cms/entity/assist/hbm/*.hbm.xml</value> 

你可能感兴趣的:(spring)