Проблема с отображением в Hibernate - PullRequest
7 голосов
/ 07 апреля 2011

Я новичок в hibernate, и у меня возникают проблемы с указанием расположения файла сопоставления в файле hibernate.cfg.xml.

Я создал объект Event в org.hibernate.tutorial.chapter1.Пакет domain.Event.java с соответствующим файлом Event.hbm.xml в том же месте.

Я пытаюсь указать местоположение в теге сопоставления hibernate.cfg.xml, но получаю InvalidMappingException ().

Я добавил к сообщению: исключение, сопоставление из файла сопоставления и структуру файла проекта.

любой совет был бы полезен.

484 [main] ОШИБКА org.hibernate.util.xml.ErrorLogger - Ошибка синтаксического анализа XML (1): cvc-elt.1: Невозможно найти объявление элемента 'hibernate-mapping'.495 [main] ERROR org.hibernate.util.xml.ErrorLogger - Ошибка синтаксического анализа XML (2): cvc-elt.1: не удается найти объявление элемента 'hibernate-mapping'.Первоначальное создание SessionFactory failed.org.hibernate.InvalidMappingException: невозможно прочитать XML

<!-- Names the annotated entity class -->
<mapping resource="org/hibernate/tutorial/chapter1/domain/Event.hbm.xml"/>

see below the project structure

Ответы [ 2 ]

14 голосов
/ 07 апреля 2011

Убедитесь, что у вас есть DOCTYPE в вашем Event.hbm.xml в верхней части содержимого XML , например, :

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="org.hibernate.tutorial.domain">
[...]
</hibernate-mapping>
0 голосов
/ 24 февраля 2015

Моя проблема заключалась в том, что мой XML-файл отсутствовал:

<?xml version="1.0" encoding='utf-8'?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

после вставки этого в начало XML-файла все получилось великолепно.Спасибо!

...