如果我也将列也提升为a / PK(又称为识别关系)会怎样?由于该列现在是PK,因此必须使用@Id(…)对其进行标记。
对 增强支持实际上是JPA2.0中新内容的一部分(请参阅JPA 2.0规范中的 部分),JPA1.0不允许Id
在OneToOne
或上使用ManyToOne
。在JPA 1.0中,您必须使用外键列PrimaryKeyJoinColumn
并Basic
Id
为其定义一个映射。
现在的问题是:@Id + @JoinColumn与@PrimaryKeyJoinColumn是否相同?
您可以获得类似的结果,但是使用Id
on OneToOne
或ManyToOne
则 ,这是使用JPA 2.0映射派生标识符的首选方法。PrimaryKeyJoinColumn
仍可以在 继承策略中使用。在JPA 2.0规范的相关部分下面: