【问题标题】:Hibernate mapping error?休眠映射错误?
【发布时间】:2012-02-15 23:34:26
【问题描述】:

我创建了一个 hbm.xml 文件,但它给了我一个错误:

元素类型“class”的内容必须匹配“(meta*,subselect?,cache?,synchronize*,comment?,tuplizer*,(id|composite-id),discriminator?,natural-id?,(版本|时间戳)?,(属性|多对一|一对一|组件|动态组件|属性|任何|地图|集合|列表|袋|idbag|数组|原始数组) ,((join,subclass*)|joined-subclass*|union-subclass*),loader?,sql-insert?,sql-update?,sql-delete?,filter*,resultset*,(query |sql-query)*)"。

代码如下:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
  "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>

    <class name="edu.byu.training.domain.ProductFlsko" table="PRODUCTFLSKO" schema="GAATTRAINING">
        <property name="productId" column="PRODUCT_ID"/>
        <property name="product" column="PRODUCT"/>
        <property name="description" column="DESCRIPTION"/>
        <property name="price" column="PRICE"/>
        <property name="rowNumber" column="ROW_NUMBER"/>

        <query name="get.By.Id" cacheable="true">
            select ProductFlsko
            from edu.byu.training.domain.ProductFlsko prod
            where prod.productId = :id
        </query>
    </class>
</hibernate-mapping>

我这辈子都想不通……

【问题讨论】:

  • 我的xml 也有同样的错误。但我的问题是我有 2 个&lt;ID&gt; 标签。删除其中一个并解决了问题。认为这对面临同样问题的其他人会很有用。

标签: xml hibernate


【解决方案1】:

类映射必须包含 id 或复合 id,请参阅文档中的 Identifiers

您的 id 可能是 productId。

有几个identity generators

<class name="edu.byu.training.domain.ProductFlsko" table="PRODUCTFLSKO" schema="GAATTRAINING">
    <id name="productId" column="PRODUCT_ID">
        <generator class="native" />
    </id>
    <property name="product" column="PRODUCT"/>
    <property name="description" column="DESCRIPTION"/>
    <property name="price" column="PRICE"/>
    <property name="rowNumber" column="ROW_NUMBER"/>

    <query name="get.By.Id" cacheable="true">
        select ProductFlsko
        from edu.byu.training.domain.ProductFlsko prod
        where prod.productId = :id
    </query>
</class>

【讨论】:

  • 哦,对了。哈哈,我昨天已经解决了这个问题,但不得不恢复一些文件,我完全忘记了。哇!
  • 谢谢 我遇到了同样的问题,没有配置任何 ID。宾果游戏你的建议拯救了我的一天。
猜你喜欢
  • 1970-01-01
  • 2012-02-27
  • 2017-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多