簡體   English   中英

當我嘗試創建插入查詢時如何使用休眠@EmbeddedId

[英]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.

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