最佳答案
@JoinColumn
和 @PrimaryKeyJoinColumn
的确切区别是什么?
对于属于外键的列,可以使用 @JoinColumn
。典型的列可能类似(例如,在具有附加属性的联接表中) :
@ManyToOne
@JoinColumn(name = "...")
private OtherClass oc;
如果我把这个专栏也推广为 PK (又称识别关系) ,会发生什么?由于该列现在是 PK,我必须用 @Id
标记它:
@Id
@ManyToOne
@JoinColumn(name = "...")
private OtherClass oc;
现在的问题是:
@Id
+ @JoinColumn
和 @PrimaryKeyJoinColumn
是一样的吗? :
@ManyToOne
@PrimaryKeyJoinColumn(name = "...")
private OtherClass oc;
如果没有,那 @PrimaryKeyJoinColumn
是干什么的?