欢迎来到天天文库
浏览记录
ID:49357869
大小:366.77 KB
页数:19页
时间:2020-02-29
《Hibernate对象关系映射总结ˇ.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一对一双向关联(外键关联)人:身份证每个人知道自己的身份证每张身份证对应着一个人publicclassPerson{publicclassIdCard{privateintid;privateintid;privateStringname;privateDateusefulLife;privateIdCardidCard;privatePersonperson;。。。。。。。。。。。}}@Entity@Table(name="t_jpa_Person")publicclassPerson{@Id@GeneratedValueprivate
2、intid;privateStringname;@OneToOne(optional=true,cascade=CascadeType.ALL)@JoinColumn(name="idcard_id",unique=true)privateIdCardidCard;}@Entity@Table(name="t_jpa_IdCard")告诉hibernate:关系在对方设置:关系映射在我关联的类publicclassIdCard{Husband的wife属性上已经作了:这里不再映射了。@Id因为:对象关系只需要在一方设置就可以了(对应数据库
3、就是@GeneratedValue主外键关系,否则主从表都有对方的主键作外键)privateintid;privateDateusefulLife;@OneToOne(optional=false,cascade=CascadeType.REFRESH,mappedBy="idCard")privatePersonperson;}一对多双向关联双向一对多或多对一:不需要多一张表,只是使用mappedBy:使用在One一方。表示对方是主导,关系在对方设置部门人员部门通过员工表的外键depart_id能够找到自己的所有的员工员工通过外键:de
4、part_id能够找到自己所属的部门publicclassDepartment{publicclassEmployee{privateintid;privateintid;privateStringname;privateStringname;privateSetemps;privateDepartmentdepart;/*对象导航*/…………………………………..………………………………….}}@Entity@Entity@Table(name="t_jpa_group3")@Table(name="t_jpa_us
5、er3")publicclassGroup3{publicclassUser3{privateintid;privateintid;privateStringname;privateStringname;privateSetusers=newHashSet()privateGroup3group;@OneToMany(mappedBy="group")@ManyToOnepublicSetgetUsers(){publicGroup3getGroup(){returnusers;returngro
6、up;}}………………………………….………………………………….}}mappedby说明对象关系在另一方设置:也就是在用户这一方设定:用户来维护对象的关系具体体现:用户组的主键在用户表中做外键。《==》(主表主键在从表中做外键)存用户的时候:外键就是根据该对象的id来定的。默认的外键子段就是:group_id@Entity@Table(name="t_jpa_user3")publicclassUser3{privateintid;privateStringname;也可以更加明确的写出外privateGroup3group;键子段的名
7、称:它所参照的主表列就是:Group3对@ManyToOne应表的主键字段@JoinColumn(name="group_id8888")publicGroup3getGroup(){returngroup;}publicvoidsetGroup(Group3group){this.group=group;}@Id@GeneratedValuepublicintgetId(){returnid;}这是用户表user3的结构多对多双向关联publicclassStudent{publicclassTeacher{privateintid;p
8、rivateintid;privateStringname;privateStringname;privateSetteachers;privateSets
此文档下载收益归作者所有