」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在JPA中使用複合主鍵實現資料版本控制?

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

發佈於2024-11-16
瀏覽:461

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

使用JPA 進行複合主鍵處理

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

具有複合主鍵的實體定義

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

使用@EmbeddedId

為key,然後在實體中用@EmbeddedId註解:

@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
}

使用@IdClass

或者,使用@IdClass註解類,並在類別中將ID屬性定義為@Id:

@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;
}

使用版本複製實體

定義實體後,可以使用新版本複製實體。例如,要建立 id=1 的第一個實體的新版本:

YourEntity newVersion = new YourEntity();
newVersion.setMyKey(new MyKey(1, 1)); // new version
newVersion.setColumnA("Some Other Data");
entityManager.persist(newVersion);
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3