如何在JPA中创建和处理复合主键

我希望有来自同一数据项的版本。换句话说,我想用另一个版本号复制条目

id-Version将是主键

实体应该是什么样子?我如何用另一个版本复制它

id版本列A
10一些数据
1一些其他数据
2 0数据2。进入
2.1数据

您可以创建一个包含两个键的嵌入式类,然后在实体中将该类引用为EmbeddedId

您需要@EmbeddedId@embeddedable注释

@实体
公共类实体{
@嵌入ID
私钥;
@列(name=“ColumnA”)
私有字符串列;
/**你的能手和二传手**/
}
@可嵌入
公共类MyKey实现可序列化{
@列(name=“Id”,nullable=false)
私有int-id;
@列(name=“Version”,nullable=false)
私有int版本;
/**接球手和接球手**/
}

实现此任务的另一种方法是使用@IdClass注释,并将id放在该IdClass中。现在,您可以在这两个属性上使用普通的@Id注释

@实体
@IdClass(MyKey.class)
公共类实体{
@身份证
私有int-id;
@身份证
私有int版本;
}

公共类MyKey实现可序列化{
私有int-id;
私有int版本;
}

发表评论