首頁  >  文章  >  Java  >  如何在 JPA 中使用版本控制建立和處理複合主鍵?

如何在 JPA 中使用版本控制建立和處理複合主鍵?

DDD
DDD原創
2024-11-01 08:05:02429瀏覽

How to Create and Handle Composite Primary Keys with Versioning in JPA?

在JPA 中建立和處理複合主鍵

管理需要版本控制的資料時,通常需要建立一個由以下組成的複合主鍵標識符和版本號。這樣可以建立具有不同版本的重複條目。

要在 JPA 中實作此場景,有兩種主要方法:使用嵌入式類別和使用 @IdClass 註解。

方法一:嵌入類別

  • 使用所需的主鍵屬性(@Column、@JoinColumn等)建立嵌入類別。
  • 使用以下標記標記實體類別@EmbeddedId 註解並引用Embedded類別。

範例:

<code class="java">@Entity
public class YourEntity {
    @EmbeddedId
    private MyKey myKey;

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

    // getters and setters
}

@Embeddable
public class MyKey implements Serializable {
    @Column(name = "Id", nullable = false)
    private int id;

    @Column(name = "Version", nullable = false)
    private int version;

    // getters and setters
}</code>

方法二:@IdClass註解

    方法二:@IdClass註解
  • 使用 @IdClass 註解註解實體類,並指定組合鍵類。

使用組合鍵類別中兩個主鍵屬性上的 @Id 註解。

<code class="java">@Entity
@IdClass(MyKey.class)
public class YourEntity {
   @Id
   private int id;
   @Id
   private int version;

}

public class MyKey implements Serializable {
   private int id;
   private int version;
}</code>
範例:

這兩種方法都允許建立和在JPA 中處理複合主鍵,從而能夠管理具有多個版本或重複的數據。

以上是如何在 JPA 中使用版本控制建立和處理複合主鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn