在我的hibernate映射文件中出现未知错误

时间:2017-06-12 14:27:44

标签: java spring hibernate spring-mvc

我有三个持久化的类名:shops.class,user.class,vehicle.class和三个hibernate映射文件shops.hbm.xml,users.hbm.xml,vehicle.hbm.xml

但我的用户和车辆摸贴文件中出现以下错误:

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)*)".

shops.hbm.xml:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated Jun 7, 2017 2:04:29 PM by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
    <class name="persistent_classes.shops" table="SHOPS">
        <id name="id" type="int">
            <column name="ID" />
            <generator class="increment" />
        </id>
        <version name="version_id" type="int" unsaved-value="undefined">
            <column name="VERSION_ID" />
        </version>
        <property name="name" type="java.lang.String">
            <column name="NAME" />
        </property>
        <property name="address" type="java.lang.String">
            <column name="ADDRESS" />
        </property>
        <property name="city" type="java.lang.String">
            <column name="CITY" />
        </property>
        <property name="dealername" type="java.lang.String">
            <column name="DEALERNAME" />
        </property>
        <property name="dealerno" type="java.lang.String">
            <column name="DEALERNO" />
        </property>
        <property name="dealeremail" type="java.lang.String">
            <column name="DEALEREMAIL" />
        </property>
        <property name="password" type="java.lang.String">
            <column name="PASSWORD" />
        </property>
        <property name="shops_string" type="java.lang.String">
            <column name="SHOPS_STRING" />
        </property>
        <property name="login" type="boolean">
            <column name="LOGIN" />
        </property>
        <list name="vehicles" inverse="false" table="VEHICLE" lazy="true">
            <key>
                <column name="store_id" />
            </key>
            <list-index></list-index>
            <one-to-many class="persistent_classes.vehicle" />
        </list>
        <map name="users" table="SHOPS_MAP" lazy="true">
            <key>
                <column name="ID" />
            </key>
            <map-key type="java.lang.Integer"></map-key>
            <element type="java.lang.Integer">
                <column name="USERS" />
            </element>
        </map>
    </class>
</hibernate-mapping>

vehicle.hbm.xml:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated Jun 7, 2017 2:04:29 PM by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
    <class name="persistent_classes.vehicle" table="VEHICLE">
        <id name="id" type="int">
            <column name="ID" />
            <generator class="increment" />
        </id>
        <property name="stock" type="int">
            <column name="STOCK" />
        </property>
        <version name="version_id" type="int" unsaved-value="undefined">
            <column name="VERSION_ID" />
        </version>
        <property name="name" type="java.lang.String">
            <column name="NAME" />
        </property>
        <property name="company" type="java.lang.String">
            <column name="COMPANY" />
        </property>
        <property name="milage" type="java.lang.String">
            <column name="MILAGE" />
        </property>
        <property name="year" type="java.lang.String">
            <column name="YEAR" />
        </property>
        <property name="priceoriginal" type="java.lang.String">
            <column name="PRICEORIGINAL" />
        </property>
        <property name="priceoffer" type="java.lang.String">
            <column name="PRICEOFFER" />
        </property>
        <property name="vehicle_string" type="java.lang.String">
            <column name="VEHICLE_STRING" />
        </property>
    </class>
</hibernate-mapping>

users.hbm.xml:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated Jun 7, 2017 2:04:40 PM by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
    <class name="persistent_classes.users" table="USERS">
        <id name="id" type="int">
            <column name="ID" />
            <generator class="increment" />
        </id>
        <map name="points" table="user_points" cascade="all">
            <key  column="user_id" />
            <index column="shop_id" type="integer"></index>
            <element column="points" type="string"></element>
            </map>
        <version name="version_id" type="int" unsaved-value="undefined">
            <column name="VERSION_ID" />
        </version>
        <property name="login" type="boolean">
            <column name="LOGIN" />
        </property>
        <property name="name" type="java.lang.String">
            <column name="NAME" />
        </property>
        <property name="password" type="java.lang.String">
            <column name="PASSWORD" />
        </property>
        <property name="email" type="java.lang.String">
            <column name="EMAIL" />
        </property>
        <property name="mobno" type="java.lang.String">
            <column name="MOBNO" />
        </property>
        <property name="address" type="java.lang.String">
            <column name="ADDRESS" />
        </property>
        <property name="users_string" type="java.lang.String">
            <column name="USERS_STRING" />
        </property>
    </class>
</hibernate-mapping>

我知道这个问题被多次询问,但所有这些都与不使用标签有关。但我在所有文件中都使用了此标记,但仍然在用户和车辆文件中出现此错误。 请帮助我非常坚持这一点。 提前致谢

1 个答案:

答案 0 :(得分:1)

必须在versionproperty

之前定义

map

将其移至idusers vehicle

hbm定义之后