我想要具有来自同一数据条目的版本。换句话说,我想用另一个版本号复制该条目。
id - Version 将是主键。
id - Version
实体看起来如何?如何将其复制到另一个版本?
id Version ColumnA 1 0 Some data 1 1 Some Other data 2 0 Data 2. Entry 2 1 Data
你可以制作一个Embedded class,其中包含两个键,然后像EmbeddedId中一样引用该类Entity。
Embedded class
EmbeddedId
你将需要@EmbeddedId和@Embeddable注释。
@EmbeddedId
@Embeddable
@Entity public class YourEntity { @EmbeddedId private MyKey myKey; @Column(name = "ColumnA") private String columnA; /** Your 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 **/ }
完成此任务的另一种方法是使用@IdClass批注,然后将两者都id放在该批注中IdClass。现在你可以@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; }