0
我读了下面的文章:休眠拥有与实体侧共享主键
,我用两件事情混为一谈:
1谁是实体的拥有方。从文章: “我们应该告诉hibernate它是管理关系的Student类。”
然而,学生实体是用mappedBy注解的,我知道任何使用mappedBy注解的实体都是反面。任何人都可以解释一下吗?
@Entity
@Table(name = "STUDENT")
public class Student {
@Id
@GeneratedValue
@Column(name = "STUDENT_ID")
private long id;
@Column(name = "FIRST_NAME")
private String firstName;
@Column(name = "LAST_NAME")
private String lastName;
@Column(name = "SECTION")
private String section;
@OneToOne(mappedBy="student", cascade = CascadeType.ALL)
private Address address;
2-哪个ID是外键? Address实体中使用了@PrimaryKeyJoinColumn,这是否意味着地址Id是主键和外键?下面的文章中,他们有相同的例子,但它的单向:
你可以看到@PrimaryKeyJoinColumn的位置改变,仍然地址为外键。哪个Id将是外键。
我只需要一个更多信息以确认这篇文章中关于2: http://fruzenshtein.com/one-to-one-unidirectional-primary-key/ 他们说的外键是Biography类中的author_id。那是对的吗?它应该是Author类中的id。你能确认吗? –