簡體   English   中英

查找屬性時找不到org.hibernate.MappingException類

[英]org.hibernate.MappingException class not found while looking for property

請幫助我,我真的需要幫助...我在hibernate中創建了一個復合ID。

PurchasedTestId.java

package jp.go.mhlw.vaccine.draft;

import java.io.Serializable;

public class PurchasedTestId implements Serializable {

private static final long serialVersionUID = 1L;

private Long testId;
private Long customerId;

// an easy initializing constructor
public PurchasedTestId(Long testId, Long customerId) {
    this.testId = testId;
    this.customerId = customerId;
}
      // generate setters and getters here
}

這是我的vaccin.hbm.xml文件

<class name="jp.go.mhlw.vaccine.draft.PurchasedTestttt" table="PurchasedTesttt">
        <composite-id name="purchasedTestId" class="jp.go.mhlw.vaccine.draft.PurchasedTestId">
            <key-property name="testId" >
                <column name="testId" ></column>
            </key-property>
            <key-property name="customerId"  column="customerId" />  
        </composite-id>
        <property name="name" column="name" type="string" />
    </class>

我正在使用Ant構建(使用bulld.xml文件)來生成Domain類和DB shema,在我的情況下只會生成類PurchasedTestttt,我之前已經創建了類PurchasedTestId。 每當我開始運行工具時,都會拋出

org.hibernate.MappingException: class jp.go.mhlw.vaccine.draft.PurchasedTestId not found while looking for property: testId

但是在我的vaccin.hbm.xml文件中,我可以按住控制鍵並單擊

jp.go.mhlw.vaccine.draft.PurchasedTestId

它立即跳轉到具有相同包名稱的PurchasedTestId.java文件。顯然PurchasedTestId類在我的類路徑中。我已經搜索了2天了,但我無法解決問題。請幫我弄清楚它是什么。好累,請幫助我。

您不必在hbm.xml文件中指定Composite-id的 您必須在PurchasedTestttt類中設置屬性的名稱 例如,它必須看起來像:

類PurchasedTestttt:

public class PurchasedTestttt {
    PurchasedTestId purchasedTestId;

    public PurchasedTestId getPurchasedTestId() {
       return purchasedTestId;
    }
    public void setPurchasedTestId(PurchasedTestId purchasedTestId) {
        this.purchasedTestId = purchasedTestId;
    }
    ....
}

*的.hbm.xml:

<class name=”entities.PurchasedTestttt”>
    <composite-id name=”purchasedTestId”>
        <key-property name=”testId” column=”TEST_ID” />
        <key-property name=”customerId” column=”CUSTOMER_ID” />
    </composite-id>
    ...
</class>

重要的是,您用於Composite-id的類具有與* .hbm.xml中指定的名稱相同的屬性,但是Hibernate不需要知道您用於該類的類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM