您的位置:首页 > 编程语言 > Java开发

Spring加载Hibernate映射文件的几种方式

2012-06-19 14:11 204 查看
在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会替你找出该文件夹内所有的映射文件,定义方法如下:
<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>



再记录一下自己今天郁闷的问题,Tomcat启动时缓存系统的一些基本信息,但数据库里明明有记录,就是没缓存上。于是查看配置,基本都配置全了,后来猛然发现没有加载Hibernate映射的.hbm.xml配置文件。因此当映射文件多时尽量映射文件所在的文件夹
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: