Questions tagged «identifying-relationship»


3
JPA:@JoinColumn和@PrimaryKeyJoinColumn之间的区别?
@JoinColumn和之间的确切区别是@PrimaryKeyJoinColumn什么? 您使用@JoinColumn的列是外键的一部分。典型的列可能看起来像(例如,在具有附加属性的联接表中): @ManyToOne @JoinColumn(name = "...") private OtherClass oc; 如果我也将列也提升为a / PK(又称为识别关系)会怎样?由于该列现在是PK,因此我必须用标记@Id: @Id @ManyToOne @JoinColumn(name = "...") private OtherClass oc; 现在的问题是: 是@Id+@JoinColumn上面一样@PrimaryKeyJoinColumn? @ManyToOne @PrimaryKeyJoinColumn(name = "...") private OtherClass oc; 如果没有,那@PrimaryKeyJoinColumn有什么用?

8
仍然对识别与非识别关系感到困惑
因此,我一直在阅读数据库设计中的识别关系与非识别关系,关于SO的许多答案似乎与我矛盾。这是我正在查看的两个问题: 识别和非识别关系有什么区别 确定身份关系或非身份关系的麻烦 查看每个问题的最高答案,我似乎对确定的关系有两种不同的想法。 第一个问题的回答是,标识关系“描述了子表中行的存在取决于父表中行的情况”。给出的一个示例是:“作者可以写很多书(一对一关系),但是没有作者就不能存在一本书。” 这对我来说很有意义。 但是,当我读到对第二个问题的回答时,我很困惑,因为它说:“如果孩子确定了其父母,那是一种确定的关系。” 然后答案继续给出示例,例如社会安全号码(用于识别一个人),但没有地址(因为许多人可以住在一个地址上)。对我来说,这听起来更像是在主键和非主键之间做出决定的情况。 我自己的直觉(以及在其他站点上的其他研究)指出第一个问题及其答案是正确的。但是,我想在继续前进之前先进行验证,因为在努力理解数据库设计时,我不想学习任何错误。提前致谢。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.