首頁 > Java > java教程 > 主體

如何在JPA中使用複合主鍵實現資料版本控制?

Mary-Kate Olsen
發布: 2024-10-27 11:01:01
原創
606 人瀏覽過

How to Implement Data Versioning with Composite Primary Keys in JPA?

使用JPA 進行複合主鍵處理

資料版本控制需要能夠複製具有不同版本的實體,因此建立組合至關重要實體的主鍵。

使用複合主鍵的實體定義

在 JPA 中,可以使用 @EmbeddedId 或 @IdClass 註解來定義複合主鍵。

使用@EmbeddedId

為key單獨定義一個類別(@Embeddable註解),然後在實體中用@EmbeddedId註解:

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

    private String columnA;
    // getters and setters
}

@Embeddable
public class MyKey implements Serializable {

    private int id;
    private int version;
    // getters and setters
}</code>
登入後複製

使用@IdClass

或者,使用@IdClass註解類,並在類別中將ID屬性定義為@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>
登入後複製

複製具有版本的實體

定義實體後,可以使用新版本複製它。例如,要建立 id=1 的第一個實體的新版本:
<code class="java">YourEntity newVersion = new YourEntity();
newVersion.setMyKey(new MyKey(1, 1)); // new version
newVersion.setColumnA("Some Other Data");
entityManager.persist(newVersion);</code>
登入後複製

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!