![](/img/trans.png)
[英]How to name the @ForeignKey when using @IdClass composite primary key?
[英]How to resolve IdClass Property not found issue when creating composite primary key using JPA
我在創建復合主鍵時遇到問題
我收到org.hibernate.AnnotationException: Property of @IdClass not found
this exception。
我的可序列化實現類和模型類如下:
public class MakeCompositeKey implements Serializable {
private String codeName;
private int year;
public MakeCompositeKey() {
}
public MakeCompositeKey(String codeName, int year) {
this.codeName = codeName;
this.year = year;
}
@Override
public int hashCode() {
return super.hashCode();
}
@Override
public boolean equals(Object obj) {
return super.equals(obj);
}
}
和
@Entity
@IdClass(MakeCompositeKey.class)
public class Averages {
@Id
@Column(name = "code_name")
private String CodeName;
@Id
private int year;
@Column(name = "weighted_average_shs_out")
private double Weighted_Average_Shs_Out;
@Column(name = "weighted_average_shs_dil")
private double Weighted_Average_Shs_Out_Dil;
@Column(name = "average_receivables")
private double Average_Receivables;
@Column(name = "average_payables")
private double Average_Payables;
@Column(name = "average_inventory")
private double Average_Inventory;
//getters and setters
}
我不明白出了什么問題。 請幫我解決這個問題。
謝謝!
MakeCompositeKey
應該用@Embeddable
注釋
你在這里有一個錯字,這可能會破壞一切。
public class Averages {
@Id
@Column(name = "code_name")
private String CodeName; // <----this should be codeName instead of CodeName
//...class implementation
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.