2011-04-06 95 views
7

我新的休眠和我有在hibernate.cfg.xml文件中指定映射文件的位置的麻烦。映射问题与Hibernate

我已经建立在org.hibernate.tutorial.chapter1.domain.Event.java包事件对象,具有在相同的位置及其相应的Event.hbm.xml文件。

我想指定在hibernate.cfg.xml映射标签的位置,但我得到的InvalidMappingException()。

我已经加入到后:例外,从映射文件和项目文件结构的映射。

任何意见将是巨大的。

484 [主要] ERROR org.hibernate.util.xml.ErrorLogger - 错误解析XML(1):CVC-elt.1: 找不到元件 '冬眠映射' 的声明。 495 [main]错误 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

回答

14

确保你的顶部有你的Event.hbm.xml一个DOCTYPE XML内容such as

<?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

Doh ...,谢谢它的工作。 – special0ne 2011-04-07 01:10:22

+1

很棒....感谢亚光...... – Nirmal 2011-04-21 12:27:15

+1

谢谢,救了我一命:) – 2011-12-13 16:37:55

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文件的开头后,一切都变好了。 谢谢!