[英]how to use hibernate @EmbeddedId when i try to create insert query
我正在使用休眠,並且我已經在Java端使用休眠創建了實體。 我的一個數據庫表有多個列作為主鍵,休眠使用@EmbeddedId來處理。
我的問題是,當我創建插入查詢時,出現此錯誤:
“為以下類生成的空ID:com.iu.eblood.model.Eventtypeofevent類”
設置ID,我需要為此EmbeddedId創建對象,當我創建並設置此ID時,出現了另一個問題:
“在同一SQL語句中多次指定了目標名稱“ EVENTID”以進行分配”
我想,錯誤的原因是我的Eventtypeofevent對象和EventtypeofeventPK對象(由hibernate為EmbeddedId創建的類)實際上都顯示相同的屬性。
這是我的課:
@Entity
public class Eventtypeofevent implements Serializable {
private static final long serialVersionUID = 1L;
private EventtypeofeventPK id;
private Timestamp createddate;
private Timestamp deleteddate;
private String isactive;
private Event event;
private Eventtype eventtype;
public Eventtypeofevent() {
}
@EmbeddedId
public EventtypeofeventPK getId() {
return this.id;
}
public void setId(EventtypeofeventPK id) {
this.id = id;
}
....... getter and setter
和EmbeddedId的其他類:
@Embeddable
public class EventtypeofeventPK implements Serializable {
//default serial version id, required for serializable classes.
private static final long serialVersionUID = 1L;
private long eventid;
private int eventtypeid;
...... getter and setter
我像這樣使用@EmbeddedId,我不確定它是否可以幫助您:
@EmbeddedId
@AttributeOverrides({
@AttributeOverride(name = "orgId", column = @Column(name = "ORG_ID", nullable = false, precision = 12, scale = 0)),
@AttributeOverride(name = "configId", column = @Column(name = "CONFIG_ID", nullable = false, precision = 9, scale = 0)) })
public [EmbeddedId Object] getId() {
return id;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.