0

Hibernate3をSpring3.1.0と統合しようとしています。問題は、アプリケーションがhibernate.cfg.xmlファイルで宣言されたマッピングファイルを見つけることができないことです。最初のHibernate構成には、データソース構成、Hibernateプロパティ、およびマッピングhbm.xmlファイルがあります。マスターhibernate.cfg.xmlファイルはsrcフォルダーに存在します。マスターファイルは次のようになります。

<hibernate-configuration>
    <session-factory>
        <!-- Mappings -->
        <mapping resource="com/test/class1.hbm.xml"/>
        <mapping resource="/class2.hbm.xml"/>
        <mapping resource="com/test/class3.hbm.xml"/>
        <mapping resource="com/test/class4.hbm.xml"/>
        <mapping resource="com/test/class5.hbm.xml"/>

Springの構成は次のとおりです。

<bean id="sessionFactoryEditSolution" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource" ref="data1"/>
        <property name="mappingResources">
            <list>
                <value>/master.hibernate.cfg.xml</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
                <prop key="hibernate.cache.use_second_level_cache">true</prop>

            </props>
        </property>
    </bean>
4

2 に答える 2

1

パスの先頭にスラッシュがあるので、ルートを探しています。これはほぼ間違いなく正しくありません。

<value>/master.hibernate.cfg.xml</value>

私は通常、次のように構成を指定します。

<value>classpath:master.hibernate.cfg.xml</value>

これmaster.hibernate.cfg.xmlは、あなたがあなたのリソースにいる場合に機能します。

于 2012-05-30T16:11:33.330 に答える
0

以下のコードを試して、スプリングをポイントし、hibernate.cfg.xmlの場所を修正できます。

<bean
    id="mySessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

    <property name="configLocation">    
        <value>
            classpath:location_of_config_file/hibernate.cfg.xml
        </value>
    </property>
...........
</bean>
于 2012-05-30T16:13:41.750 に答える