长期以来我一直在努力解决这个错误,请帮助我。
我收到错误:HHH000196:解析 XML 时出错(2):必须声明元素类型“hibernate-mapping”。
请帮我解决这个问题:
我的 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 header :
<!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>
最佳答案
DTD 的位置 URL 错误。在 hbm.xml 中,应该使用 hibernate-mapping-3.0.dtd 而不是 hibernate-configuration-3.0.dtd,如下所示:
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
关于 hibernate 4.2 异常 : Element type "hibernate-mapping" must be declared,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16467814/