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

标签 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>

车辆.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>

我知道这个问题被问了很多次,但所有这些都与不使用标签有关。但是我在所有文件中都使用了这个标签,但在用户和车辆文件中仍然收到此错误。 请帮助我,我对此深感困惑。 提前致谢

最佳答案

version 必须在 propertymap 之前定义

将其移至usersvehicleid定义之后hbm

关于java - 我的 hibernate 映射文件中出现未知错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44501925/

相关文章:

java - 使用 spring-boot 对 Rest 服务进行访问控制

hibernate - 如何更改 Hibernate 的自动持久策略

java - 每个请求一个事务 - servlet 响应提交得太早

java - NullPointerException,杀死了我的程序

java - 在Android中输入EditText并保存到数组时通过split函数分隔数字

java - org.hibernate.MappingException : Could not configure overrides from file: hibernate. reveng.xml

java - 我们如何使用旧版本的 Hibernate (~2009) 计算行数?

java - 我可以在 Google 电子表格中存储多少个单元格?

spring - 嵌入式 Jetty 资源基类路径 URL

java - 在 Spring Boot 上使用 ConfigurationProperties 时获取空值