欢迎来到天天文库
浏览记录
ID:51005320
大小:2.10 MB
页数:31页
时间:2020-03-17
《双向关联与继承映射.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、双向关联与继承映射Hibernate的关联映射双向1-N关联对于1-N关联,Hibernate推荐使用双向关联,而且不要让1的一端控制关联关系,而使用N的一端控制关联关系。双向两端都需要增加对类关联属性的访问,N的一端增加引用到关联实体的属性,1的一端增加集合属性,并使用映射关联属性。注意:inverse=“true”用于指定N的另一端不控制关联关系。Person.javapublicclassPerson{privateintpersonid;privateStringname;
2、//保留Person的age属性privateintage;//1-N关联关系,使用Set来保存关联实体privateSet
3、ublicclassAddress{//标识属性privateintaddressid;//地址详细信息privateStringaddressdetail;//保留关联实体的person属性privatePersonperson;……//person属性的setter和getter方法publicvoidsetPerson(Personperson){this.person=person;}publicPersongetPerson(){returnthis.person;}}Person.hbm.xml4、>5、manyclass="Address"/>Address.hbm.xml6、onename="person"column="person_id"not-null="true"/>PersonManager.javaprivatevoidtestPerson(){Personp=newPerson();p.setName("Yeeku");p.setAge(29);//持久化Person对象(对应于插入主表记录)session.save(p);Addressa=newAddress("广州天河");//先设置Person和Address之间的关联关系a.setPerson(p);//再持久化Address7、对象(对应于插入从表记录)session.persist(a);//创建一个瞬态的Address对象Addressa2=newAddress("上海虹口");//先设置Person和Address之间的关联关系a2.setPerson(p);//再持久化Address对象(对应于插入从表记录)session.persist(a2);tx.commit();HibernateUtil.closeSession();}Hibernate的关联映射双向N-N关联双向N-N只能使用连接表来建立两个实体之间的关联关系。两端都使用Set集合来增加对集合属性8、的访问。增加元素来映射关联实体类。Person.javapublicclassPerson{privateintperso
4、>5、manyclass="Address"/>Address.hbm.xml6、onename="person"column="person_id"not-null="true"/>PersonManager.javaprivatevoidtestPerson(){Personp=newPerson();p.setName("Yeeku");p.setAge(29);//持久化Person对象(对应于插入主表记录)session.save(p);Addressa=newAddress("广州天河");//先设置Person和Address之间的关联关系a.setPerson(p);//再持久化Address7、对象(对应于插入从表记录)session.persist(a);//创建一个瞬态的Address对象Addressa2=newAddress("上海虹口");//先设置Person和Address之间的关联关系a2.setPerson(p);//再持久化Address对象(对应于插入从表记录)session.persist(a2);tx.commit();HibernateUtil.closeSession();}Hibernate的关联映射双向N-N关联双向N-N只能使用连接表来建立两个实体之间的关联关系。两端都使用Set集合来增加对集合属性8、的访问。增加元素来映射关联实体类。Person.javapublicclassPerson{privateintperso
5、manyclass="Address"/>Address.hbm.xml6、onename="person"column="person_id"not-null="true"/>PersonManager.javaprivatevoidtestPerson(){Personp=newPerson();p.setName("Yeeku");p.setAge(29);//持久化Person对象(对应于插入主表记录)session.save(p);Addressa=newAddress("广州天河");//先设置Person和Address之间的关联关系a.setPerson(p);//再持久化Address7、对象(对应于插入从表记录)session.persist(a);//创建一个瞬态的Address对象Addressa2=newAddress("上海虹口");//先设置Person和Address之间的关联关系a2.setPerson(p);//再持久化Address对象(对应于插入从表记录)session.persist(a2);tx.commit();HibernateUtil.closeSession();}Hibernate的关联映射双向N-N关联双向N-N只能使用连接表来建立两个实体之间的关联关系。两端都使用Set集合来增加对集合属性8、的访问。增加元素来映射关联实体类。Person.javapublicclassPerson{privateintperso
6、onename="person"column="person_id"not-null="true"/>PersonManager.javaprivatevoidtestPerson(){Personp=newPerson();p.setName("Yeeku");p.setAge(29);//持久化Person对象(对应于插入主表记录)session.save(p);Addressa=newAddress("广州天河");//先设置Person和Address之间的关联关系a.setPerson(p);//再持久化Address
7、对象(对应于插入从表记录)session.persist(a);//创建一个瞬态的Address对象Addressa2=newAddress("上海虹口");//先设置Person和Address之间的关联关系a2.setPerson(p);//再持久化Address对象(对应于插入从表记录)session.persist(a2);tx.commit();HibernateUtil.closeSession();}Hibernate的关联映射双向N-N关联双向N-N只能使用连接表来建立两个实体之间的关联关系。两端都使用Set集合来增加对集合属性
8、的访问。增加元素来映射关联实体类。Person.javapublicclassPerson{privateintperso
此文档下载收益归作者所有