开发者社区> 问答> 正文

关于Hibernate discriminator标签的问题?报错

定义"一棵对象继承树对应一个表"的映射表的时候,对于discriminator标签在xml文件中的位置有什么特殊的要求么? 如果这样子定义的话会报错:

    

<class name="com.line.model.Animal" table="animal">
		<id name="id" column="id">
			<generator class="native"/>
		</id>
		<property name="sex"/>
		<property name="year"/>
		<discriminator type="string" column="type"/>
		<subclass name="com.line.model.Pig" discriminator-value="P">
			<property name="weight"/>
		</subclass>
		<subclass name="com.line.model.Bird" discriminator-value="B">
			<property name="height"/>
		</subclass>
	</class>


17:04:35,598 ERROR XMLHelper:61 - Error parsing XML: XML InputStream(19) The content of element type "class" must match "(meta*,subselect?,cache?,synchronize*,comment?,tuplizer*,(id|composite-id),discriminator?,natural-id?,(version|timestamp)?,(property|many-to-one|one-to-one|component|dynamiccomponent|properties|any|map|set|list|bag|idbag|array|primitive-array)*,((join*,subclass*)|joined-subclass*|union-subclass*),loader?,sql-insert?,sql-update?,sql-delete?,filter*,resultset*,(query|sql-query)*)".



只有将<discriminator>标签定义在主键之后才不会报错。
<class name="com.line.model.Animal" table="animal">
		<id name="id" column="id">
			<generator class="native"/>
		</id>
		<!-- 这个标签一定要主键定义之后,其他属性定义之前,不明所以 -->
		<discriminator type="string" column="type"/>
		<property name="sex"/>
		<property name="year"/>
		<subclass name="com.line.model.Pig" discriminator-value="P">
			<property name="weight"/>
		</subclass>
		<subclass name="com.line.model.Bird" discriminator-value="B">
			<property name="height"/>
		</subclass>
	</class>

   求知道原因的牛人给小弟解答一下,谢谢!

展开
收起
爱吃鱼的程序员 2020-06-22 17:03:01 397 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    hibernate-mapping-3.0.dtd里面约定了顺序的,http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd你打开看一下
    <imgsrc="http://static.oschina.net/uploads/space/2013/0903/214456_0JzQ_159685.jpg"alt=""/>
    灰常感谢。菜鸟又学到东西了。为什么老是没人呢!!!!!

    2020-06-22 17:03:20
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载