关于hibernate中报错”The content of element type "class" must match ......“的一点发现
2015-07-25 22:38
246 查看
今天用hibernate测试subclass映射时发现了代码顺序影响程序运行的现象
会报错的代码如下把配置辨别者列的代码放到其他property之后,例如:
<class name="Person" table="PERSONS" discriminator-value="PERSON"> <id name="id" type="java.lang.Integer"> <column name="ID" /> <generator class="native" /> </id> <property name="name" type="java.lang.String"> <column name="NAME" /> </property> <property name="age" type="int"> <column name="AGE" /> </property> <!-- 配置辨别者列 --> <discriminator column="TYPE" type="string"></discriminator> <!-- 使用subclass 进行子类映射 --> <subclass name="Student" discriminator-value="STUDENT"> <property name="school" type="string" column="SCHOOL"></property> </subclass> </class>
这个时候就会出现报错
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|dynamic-component|properties| any|map|set|list|bag|idbag|array|primitive-array)*,((join*,subclass*)|joined-subclass*|union- subclass*),loader?,sql-insert?,sql-update?,sql-delete?,filter*,fetch-profile*,resultset*,(query|sql-query)*)".
不会报错的代码
当把配置辨别者列的代码直接放在id的配置之后,如下:
<class name="Person" table="PERSONS" discriminator-value="PERSON"> <id name="id" type="java.lang.Integer"> <column name="ID" /> <generator class="native" /> </id> <!-- 配置辨别者列 --> <discriminator column="TYPE" type="string"></discriminator> <property name="name" type="java.lang.String"> <column name="NAME" /> </property> <property name="age" type="int"> <column name="AGE" /> </property> <!-- 使用subclass 进行子类映射 --> <subclass name="Student" discriminator-value="STUDENT"> <property name="school" type="string" column="SCHOOL"></property> </subclass> </class>
这样就不会报错了,虽然不知道是什么道理,不过误打误撞把问题解决了。。
不知道有没有大神可以做出合理的解释
相关文章推荐
- 【多媒体封装格式详解】---MKV
- android 分享到空间
- 疯狂VirtualBox实战讲学录 以及 virtualbox完全学习手册 之我见
- Memcached,你懂的
- [cogs 963]随机数生成器
- ZOJ - 2405 Specialized Four-Digit Numbers
- grunt简单教程
- Big Number
- esxi 虚拟机磁盘类型
- DDD领域事件与事件总线源码下载
- ICSH 2015 (International Conference for Smart Health 2015
- JavaScript服务器端初探
- ios 解决Unknown type name 'CGRect'或者CGFlot不能用
- hdu杭电1865 1sting
- opencv实现正交匹配追踪算法OMP
- css布局
- TimesTen 重建索引
- SQL基础
- poj 3159 Candies 【简单差分约束】 【SPFA + 数组模拟栈】
- leetcode之路004 Median of Two Sorted Arrays