首先,我们先看我们原来是如何配置SessionFactory的.
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<!-- property name="driverClassName" value="org.gjt.mm.mysql.Driver"/>-->
<property name="url"
value="jdbc:mysql://localhost/ssh_datasource" />
<property name="username" value="root" />
<property name="password" value="root" />
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mappingResources">
<list>
<value>com/test/model/User.hbm.xml</value>
<value>com/test/model/Class.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.MySQLDialect
</value>
</property>
关键看打红的那部分..对应的实体类,这里也许只有两个,但是,如果有很多个怎么办呢.难道是一个个写??
我们可以看到,这两个实体类都是在com.test.model包里面..于是,我们可以用指定包的方式代替指定一个个实体类.(当然,我们还可以用正则,这里就不多说了)
看下面的配置
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- property name="mappingResources">
<list>
<value>com/test/model/User.hbm.xml</value>
<value>com/test/model/Class.hbm.xml</value>
</list>
</property>-->
<property name="mappingDirectoryLocations">
<value>com/test/model</value>
</property>
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.MySQLDialect
</value>
</property>
</bean>
本文介绍了一种使用mappingDirectoryLocations属性来替代逐一指定Hibernate实体映射文件的方法,从而简化SessionFactory的配置过程。通过指定包名而非单个文件路径,可以更高效地管理大量实体类。
92

被折叠的 条评论
为什么被折叠?



