读书人

Hibernate基础之8:一对一单/双向主

发布时间: 2012-11-21 08:23:26 作者: rapoo

Hibernate基础之八:一对一单/双向,主/外键关联 @OneToOne@JoinColumn


1:一对一,单向,外键关联

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//指定外键名字

















读书人网 >Web前端

热点推荐