![](/img/trans.png)
[英]org.hibernate.MappingException: component property not found: id
[英]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.