Hibernate映射中的SAXParseException

时间:2013-12-20 16:40:56

标签: xml hibernate

我想通过hbm2java从hibernate映射文件生成类,但是我收到以下错误:

的SAXParseException; lineNumber:11; columnNumber:15;元素类型“class”的内容必须匹配“(meta *,subselect?,cache?,synchronize *,comment?,tuplizer *,(id | composite-id),discriminator?,natural-id?,(version | timestamp) ),(财产|?多到一个|一到一个|分量|动态分量|特性|任何|地图|设为|列表|袋| idbag |阵列|原始阵列)的,((加入的,子类*)|加入子类* |????工会子*),装载机,SQL插入,SQL更新,SQL-删除,过滤器*,获取知名度的*,结果集* (查询| SQL查询)*)”

映射文件的内容是:

01    <?xml version="1.0"?>
02    <!DOCTYPE hibernate-mapping PUBLIC
03      "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
04          "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
05 
06    <hibernate-mapping package="test">
07 
08        <class name="phone" table="phone">
09                <property name="studentid" column="student_id" type="integer"/>
10                <property name="phone" column="number" type="string"/>          
11        </class>
12 
13    </hibernate-mapping>
  • 我错过了什么?
  • 如何解释错误?什么是:?*
  • 有没有可以帮我填写xml的免费验证器/编辑器?

(不知何故eclipse在大纲视图中没有显示任何内容......)

提前致谢。

Cs

2 个答案:

答案 0 :(得分:1)

您缺少必需的id属性(在两个属性元素之上):

<class name="phone" table="phone">
    <id column=...

答案 1 :(得分:1)

*表示:预期前一类型的0,1个或更多元素。

?表示预期前一类型的0或1个元素。

没有任何意味着预期会有前一种类型。

因此,在任何id元素之前,您需要composite-id(id|composite-id)元素(property)。