2011-04-06 110 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文件的開頭後,一切都變好了。 謝謝!