使用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