从spring hibernate LocalSessionFactoryBean中分离mappingResources

时间:2011-09-09 08:51:16

标签: java hibernate spring

好的,我有这个春天的hibernate xml配置。

<bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="mappingResources">
        <list>
            <value>com/abc/def/a.xml</value>
            <value>com/abc/def/b.xml</value>
            <value>com/abc/def/c.xml</value>
            <!-- 
            And so on, about 50 xml for example
            How can I separate list value above into 5 file for example? 
            ex I have h1.xml (or h1.txt) that contain 
            <value>com/abc/def/a.xml</value>
            <value>com/abc/def/b.xml</value>
            I have h2.xml (or h2.txt) that contain 
            <value>com/abc/def/c.xml</value>
            <value>com/abc/def/d.xml</value>
            so the mappingResources just read from the files (more than 1) than contain all mapping objects
            -->
        </list>
    </property>
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
            <prop key="hibernate.show_sql">false</prop>
            <prop key="hibernate.cache.provider_class">org.hibernate.cache.OSCacheProvider</prop>
            <prop key="hibernate.cache.use_query_cache">true</prop> 
        </props>
    </property>
</bean>

我在上面的xml配置中评论了这个问题。

由于

1 个答案:

答案 0 :(得分:9)

你可以使用

    <property name="mappingLocations">
        <list>
            <value>classpath:com/abc/def/*.xml</value>
        </list>
    </property>