2013-05-09 144 views
3

我一直在努力解決這個錯誤很長時間請幫助我。Hibernate 4.2異常:必須聲明元素類型「hibernate-mapping」

我越來越ERROR: HHH000196: Error parsing XML (2) : Element type "hibernate-mapping" must be declared.

請幫我解決這個問題:

我的pom.xml看起來是這樣的:

<dependency> 
      <groupId>javax.validation</groupId> 
      <artifactId>validation-api</artifactId> 
      <version>1.0.0.GA</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-entitymanager</artifactId> 
      <version>4.2.1.Final</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-core</artifactId> 
      <version>4.2.1.Final</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-validator</artifactId> 
      <version>4.3.1.Final</version> 
     </dependency> 

我cfg.xml文件標題:

<!DOCTYPE hibernate-configuration PUBLIC 
"-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> 

我的hbm.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-configuration-3.0.dtd"> 
<hibernate-mapping> 
    <class name="com.kivar.lumina.server.segment.Segment" table="segments"> 
     <id column="ID" name="id" type="java.lang.Long"> 
     </id> 
    </class> 
</hibernate-mapping> 

回答

4

DTD的位置URL是錯誤的。在的hbm.xml hibernate- 映射 -3.0.dtd應當被用來代替hibernate- 配置 -3.0.dtd如下列:

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
     "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
+0

謝謝了。愚蠢的錯誤。 :( – LPD 2013-05-09 18:30:27