Проблема сопоставления с гибернацией

#java #hibernate #configuration #hibernate-mapping

#java #спящий режим #конфигурация #отображение в режиме гибернации

Вопрос:

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

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

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

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

любой совет был бы замечательным.

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

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

смотрите ниже структуру проекта

Ответ №1:

Убедитесь, что у вас есть 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>
  

Комментарии:

1. ответ по-прежнему полезен! Спасибо

Ответ №2:

Моя проблема заключалась в том, что мой 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-файла все получилось великолепно.
Спасибо!