Hibernate一对多、一对一、多对多映射之xml篇.doc

Hibernate一对多、一对一、多对多映射之xml篇.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hibernate一对多、一对一、多对多映射之xml篇Hibernate一对多、一对一、多对多映射之xml篇

一对多/ 确定谁是一方,谁是多方 某表的主键在中为外键,则某表为一方。如和班级对应,一个班级对应多个学生,所以班级为一方,学生多方。 和多方中代码的书写 ClassInfo如:private SetStudent stuSet;Student多方:一方类型的属性 注意:不写外键字段。代码如:private ClassInfo classInfo; 3 ClassInfo一方:set name=student 子元素:key column=哪个字段是别人的外键(class_id) / one-to-many class=”Student”/set Student多方:many-to-one name=classInfo class=ClassInfo column=class_id 测试添加时的dao代码 ClassInfo c=new ClassInfo(); c.setCname(aaa); Student s=new Student(); s.setStuName(gsc); s.setAge(12); s.setEmail(gsc@124.com); SetStudent stuSet=new HashSetStudent(); stuSet.add(s); c.setStuSet(stuSet); Session session = HibUtil.getSession(); Transaction tx = session.beginTransaction(); session.save(c); mit(); session.close(); 二 一对一 外键关联: 1.1确定谁是一方,谁是多方是一对一的关系,所以任何一方是一方或多方都可以,但是当选定哪一方是一方,哪一方是多方后,配置信息就必须按照一方和多方的信息分别配置 po:双方各有一个对方的属性 po部分代码 Address类中:private Company company; Company:private Address address; 1.3 一方:one-to-one name class property-ref=外键方对应的主键方属性/ 多方:many-to-one name class column= unique 如选择ddress为一方,ompany为多方 !-- -- one-to-one name=company class=Company property-ref=companyId cascade=all /one-to-one !-- 多方配置 -- many-to-one name=address class=Address column=address_id unique=true /many-to-one 1.4测试添加时的dao代码 Company c=new Company(); c.setCompanyName(); Address a=new Address(); a.setAddressName(美国); // c.setAddress(a); //上边的注释的代码可以不写,但下边一行的代码必须写,如果不写的话,虽然多方的记录也被添加但外键值为空 a.setCompany(c); Session session=HibUtil.getSession(); Transaction ts=session.beginTransaction(); session.save(a); mit(); session.close(); 主键关联: 双方一对一关系的数据保证主键值一致即可。 2.1都是一方 并且的两个表主键po中的部分代码 Man类中 private Integer marriageId; private Woman woman; Woman类中 private Integer marriageId; private Man man; 的两个表主键marriageId属性对应的column字段 主键生成方: 主键 采用自定义 或者 序列都行。 ont-to-one name class / 如:an 主键id name=marriageId column=marriage_id generator class=sequence param name=sequenceseq_tab_man/param /generator /id !-- 一方配置

文档评论(0)

ebitjij + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档