Hibernate 的映射问题
Posted
技术标签:
【中文标题】Hibernate 的映射问题【英文标题】:Mapping problem with Hibernate 【发布时间】:2011-07-31 06:21:01 【问题描述】:我是 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"/>
【问题讨论】:
【参考方案1】:确保您在 XML 内容顶部的 Event.hbm.xml 中有一个 DOCTYPE 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>
【讨论】:
答案还是有帮助的!谢谢【参考方案2】:我的问题是我的 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 文件的开头后,一切都变得很好。 谢谢!
【讨论】:
以上是关于Hibernate 的映射问题的主要内容,如果未能解决你的问题,请参考以下文章