hibernat基礎教程.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
26.3 一对多双向关联 6、 运行程序,测试结果。 因为该程序为Java Application,所以可以直接运行。在完全没有操作数据库的情况下,程序就完成了对数据的插入。插入数据后,Person表和Room表的内容如图4.18、图4.19所示。 图4.18 Person表 图4.19 Room表 26.3 一对多双向关联 思考:由于是双向的,可以从Room的一方来保存Person,代码如下: ... Person person1=new Person(); Person person2=new Person(); Room room=new Room(); person1.setName(李方方); person2.setName(王艳); Set persons=new HashSet(); persons.add(person1); persons.add(person2); room.setAddress(NJ-S1-328); room.setPerson(persons); //这样完成后,就可以通过Session对象 //调用session.save(room) //会自动保存person1和person2 ... 26.3 一对多双向关联 运行程序,插入数据后,Person表和Room表的内容如图4.20、图4.21所示。 图4.20 Person表 图4.21 Room表 26.4 多对多关联 一、 多对多单向关联 学生和课程就是多对多的关系,一个学生可以选择多门课程,而一门课程又可以被多个学生选择。多对多关系在关系数据库中不能直接实现,还必须依赖一张连接表。如表4.6、表4.7和表4.8所示。 字 段 名 称 数 据 类 型 主 键 自 增 允 许 为 空 描 述 ID int 是 增1 ID号 SNUMBER varchar(10) 学号 SNAME varchar(10) 是 姓名 SAGE int 是 年龄 字 段 名 称 数 据 类 型 主 键 自 增 允 许 为 空 描 述 ID int 是 增1 ID号 CNUMBER varchar(10) 课程号 CNAME varchar(20) 是 课程名 表4.6 学生表student 表4.7 课程表course 字 段 名 称 数 据 类 型 主 键 自 增 允 许 为 空 描 述 SID int 是 学生ID号 CID int 是 课程ID号 表4.8 连接表stu_cour 26.4 多对多关联 例5 、由于是单向的,也就是说从一方可以知道另一方,反之不行。这里以从学生知道选择了哪些课程为例实现多对多单向关联。步骤如下: 1、 在项目的包下编写生成数据库表对应的Java类对象和映射文件。student表对应的POJO类如下: package ; import java.util.HashSet; import java.util.Set; public class Student implements java.io.Serializable{ private int id; private String snumber; private String sname; private int sage; private Set courses=new HashSet(); //省略上述各属性的getter和setter方法 } 2、Student类的ORM映射文件Student.hbm.xml 26.4 多对多关联 ?xml version=1.0 encoding=utf-8? !DOCTYPE hibernate-mapping PUBLIC -//Hibernate/Hibernate Mapping DTD 3.0//EN /hibernate-mapping-3.0.dtd hibernate-mapping class name=.Student table=student catalog=main id name=id type=java.lang.Integer column name=ID length=4 / generator class=identity/ /id property name= snumber type=java.lang

文档评论(0)

a645502909 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档