0

pgId と pgName の両方を、両方の pgId と pgName が割り当てられた値である複合キーとして作成したいと考えています。どうすればいいのかわからない?ネットでは、複合キー列が他のテーブルの列を参照しているが、この種のシナリオではない例を取得していますか?

@Entity
@Table(name = "PersonDetails")
public class PersonDetailsData implements Serializable {
  private static final long serialVersionUID    = 1L;

  @Id
  @Basic
  private int               pgId;

  @Basic(optional = true)
  @Column(nullable = true)
  private int               orgId;

  @Basic(optional = true)
  @Column(nullable = true)
  private String            pgName;


   public PersonWikiDetailsData() {
  }

  public int getPpId() {
    return ppId;
  }

  public void setPpId(int ppId) {
this.ppId = ppId;
  }

  public String getSpaceName() {
return spaceName;
  }

  public void setSpaceName(String spaceName) {
this.spaceName = spaceName;
  }

  }
4

1 に答える 1

1

私たちのプロジェクトには、プロジェクトのような 2 つの部分の主キーを持つ Form エンティティがあります。

複合キー クラスは次のとおりです。

@Embeddable
public class FormId implements java.io.Serializable
{
    /** Generated <code>serialVersionUID</code>. */
    private static final long serialVersionUID = 906178514456716120L;

    /** The code of the form. */
    @Column(name = "FRM_CD", nullable = false, length = 80)
    private String formCode;
    /** The version of the form. */
    @Column(name = "FRM_VR", nullable = false, precision = 2, scale = 2)
    private BigDecimal formVersion;

    ...
}

これは Form エンティティでの使用方法です。

/** The primary key of the form. */
@EmbeddedId
private FormId formId;
于 2012-04-10T05:39:30.733 に答える