簡體   English   中英

如何使一個實體作為另一個實體的主鍵

[英]How to make an entity as a primary key for the other entity

我有兩個實體 Institute 和 InstituteVerificationStatus。 我想將 Institute 作為 InstituteVerificationStatus 實體的主鍵。 我添加了@Id 注釋,但它給了我一個錯誤。

InstituteVerficationStatus Class 沒有 ID class。 研究所:

@Entity
@Table(name="Institute")
public class institute implements Serializable {


  /**
   *
   */
  private static final long serialVersionUID = 617543973484435246L;


  @Id
  @Column(name = "id")
  private String id;


  @Column(name = "vendorId")
  private String vendorId;


  @Column(name = "name")
  private String name;

  @Column(name = "profilePicPath")
  private String profilePicPath;


  @Column(name = "contactNumber")
  private String contactNumber;

  @Column(name = "email")
  private String email;

  @Column(name = "gstNo")
  private String gstNo;

  @Column(name = "address")
  private String address;

  @OneToOne(mappedBy = "institute")
  private instituteVerificationStatus instituteVerificationStatus;

}

研究所驗證狀態:

@Entity
@Table(name="InstituteVerificationStatus")
public class instituteVerificationStatus implements Serializable {

    /**
     *
     */
    private static final long serialVersionUID = -1603576445855941895L;

    @Id
    @JoinColumn(name ="instituteId")
    @OneToOne
    private institute institute;


    @Column(name="verifiedByUserId")
    private String verifiedByUserId;

    @Column(name="status")
    private Character status;

    @Column(name="verificationTs")
    private Timestamp verificationTs;


    public instituteVerificationStatus(institute institute) {
        this.institute = institute;
        this.status='N';
    }

    public institute getInstitute() {
        return institute;
    }

    public void setInstitute(institute institute) {
        this.institute = institute;
    }

    public String getVerifiedByUserId() {
        return verifiedByUserId;
    }

    public void setVerifiedByUserId(String verifiedByUserId) {
        this.verifiedByUserId = verifiedByUserId;
    }

    public Character getStatus() {
        return status;
    }

    public void setStatus(Character status) {
        this.status = status;
    }

    public Timestamp getVerificationTs() {
        return verificationTs;
    }

    public void setVerificationTs(Timestamp verificationTs) {
        this.verificationTs = verificationTs;
    }

}

這是陌生人:

@Id
@JoinColumn(name ="instituteId")
@OneToOne
private institute institute;

請改用@PrimaryKeyJoinColumn

暫無
暫無

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

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