Hibernate基础之八:一对一单/双向,主/外键关联 @OneToOne@JoinColumn
Student和stusentIDCard两张表是一对一的关系,即一个学生只有一个学生证,一个学生证只对应一个学生
Stuent表里有个外键要参考StudentIDCard
表现类上就是Student实例里聚合一个stusentIDCard
就是Student表里的字段要去参考StudenIDCard表里的东西,外键名字我指定的是:“CARD_ID”
2:一对一,双向,外键关联
双向表现在类上就是:Student和stusentIDCard互相聚合一个实例,
双方都标注@OneToOne
Student类不变,参考上边那个,不赘述了但这样就等于会在表里出现重复的字段,还要设置mappedBy,说明对方是主导,消除冗余
StudentIDCard类的getStudent()上
@OneToOne(mappedBy="StudentIDCard")说明对方是主导,对方(Student)的"cardId"属性已经做映射了,消除互相是外键的冗余
getStudent()@JoinColumn换成@PrimaryKeyJoinColumn//指定外键名字