Приложение Spring не может найти файл сопоставления hbm.xml - PullRequest
1 голос
/ 10 сентября 2010

Я работаю над приложением Spring mvc, используя Hibernate, и у меня возникли некоторые проблемы при компиляции и запуске моего кода.

Это потому, что он не может найти мой FileObject.hbm.xml всякий раз, когда я пытаюсь создать фабричный компонент сеанса.

мой боб выглядит так

<bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource1"></property>
    <property name="mappingResources">
        <list>
            <value>FileObject.hmb.xml</value>
        </list>
    </property>
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
            <prop key="hibernate.show_sql">true</prop>
            <prop key="hibernate.hbm2ddl.auto">create</prop>
        </props>
    </property>
</bean>

И FileObject.hmb.xml находится в корне моей папки WAR. Я пытался переместить этот файл в разные папки, включая действительную папку src и указав правильный путь в фабрике сеансов, но он все равно дает мне исключение FileNotFoundException.

Это потому, что Java не распознает тип файла hello.hmb.xml? Большинство, если не все форматы файлов похожи на это: name.extension

Файлы картирования гибернации кажутся различными, хотя

Последующие действия: Как я уже отмечал ранее, я пытался поместить свой .hbm.xml во многие места, включая каталог src, и все еще не работает.

Структура моего проекта похожа на это:

структура проекта http://static.springsource.org/docs/Spring-MVC-step-by-step/images/dir-structure-endp1.png

Я пытался поместить файл в корневые каталоги войны, WEB-INF, классы и, как уже было сказано, в мой каталог src.

Я никогда не знал, что это было так хлопотно, просто чтобы впасть в спячку и успешно запустить весну.

Ответы [ 2 ]

1 голос
/ 10 сентября 2010

MappingResources может получать только пути относительно вашего classpath.

http://forum.springsource.org/showthread.php?t=87988

0 голосов
/ 10 сентября 2010

Если файлы .hbm.xml находятся в дереве каталогов вашего CLASSPATH, попробуйте указать путь, начинающийся с корня CLASSPATH:

<value>foo/bar/persistence/hibernate/FileObject.hmb.xml</value> 

Путь к каталогу, который я использую, является лишь примером.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...