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