今天写hibernate 映射文件时 ,加入了 version标签 ,
<version name="version"/>
<hibernate-mapping package="com.ly.entity">
<class name="User" table="tb_user">
<id name="id" column="id" type="integer">
<generator class="native"/>
</id>
<property name="name" column="name" type="string"/>
<property name="mobile" column="mobile" type="string"/>
<property name="pwd" column="pwd" type="string"/>
<version name="version"/>
<many-to-one name="card" class="Card" column="card_id" unique="true" lazy="false" not-null="true"/>
</class>
</hibernate-mapping>
此后再运行的时候会出错:
元素类型为 "class" 的内容必须匹配 "(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)*
)"。
原来 映射文件中的标签有一定的顺序:
version标签要在id之后,修改后:
<class name="User" table="tb_user">
<id name="id" column="id" type="integer">
<generator class="native"/>
</id>
<version name="version"/>
<property name="name" column="name" type="string"/>
<property name="mobile" column="mobile" type="string"/>
<property name="pwd" column="pwd" type="string"/>
<many-to-one name="card" class="Card" column="card_id" unique="true" lazy="false" not-null="true"/>
</class>
运行即可通过