用Hibernate映射问题

时间:2011-04-06 23:43:52

标签: java hibernate configuration hibernate-mapping

我是hibernate的新手,我在hibernate.cfg.xml文件中指定映射文件的位置时遇到了麻烦。

我在org.hibernate.tutorial.chapter1.domain.Event.java包中创建了一个Event对象,其对应的Event.hbm.xml文件位于同一位置。

我正在尝试在hibernate.cfg.xml映射标记中指定位置,但我收到了InvalidMappingException()。

我已添加到帖子中:例外,映射文件和项目文件结构的映射。

任何建议都会很棒。

  

484 [主要]错误   org.hibernate.util.xml.ErrorLogger -   解析XML时出错(1):cvc-elt.1:   找不到元素的声明   “休眠映射”。 495 [主要]错误   org.hibernate.util.xml.ErrorLogger -   解析XML时出错(2):cvc-elt.1:   找不到元素的声明   “休眠映射”。初始   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 个答案:

答案 0 :(得分:14)

确保您在XML内容such as顶部的Event.hbm.xml中有DOCTYPE:

<?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 :(得分:0)

我的问题是我的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文件的开头后,一切都变得很棒。 谢谢!