第三章 对象关系映射处理.docxVIP

  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文档。上传文档
查看更多
第三章 对象关系映射处理

第三章 对象关系映射1. 回顾ID生成器持久化过程持久化操作的方法2目标和重点对象关系映射一对一关系一对多关系多对多关系每一种又分为单向和双向3.难点对象关系映射,日常处理中配置一对多和多对一的映射是最多的4.知识点内容讲解4.1一对多一个人可以是属于一个部门,一个部门有许多人,人与部门存在多对一的关系Xml配置方式一的一方private Set persons;set name=persons cascade=all inverse=true!-- key标签的column表示多的一方person表的外键 --key column=dept_id/key!-- one to many表示一对多关系,需要指定多的一方类型 --one-to-many class=com.jzgx.model.Person//set多的一方private Dept deptmany-to-one name=dept class=com.jzgx.model.Dept column=dept_id/注解配置一的一方private Set persons;@OneToMany(cascade={CascadeType.ALL},fetch=FetchType.LAZY,targetEntity=Person.class,mappedBy=dept)@JoinColumn(name=dept_id)public Set getPersons() {return persons;}多的一方private Dept dept@ManyToOne@JoinColumn(name=dept_id)4.2一对多树状自关联表结构有3个字段,id,parented,name,可以描绘出一个树形结构,在hibernate中这种表结构可以映射一对多的自关联,与普通的一对多不同的是,关系都在一个映射配置文件里Xml配置方式一的一方private Set depts;set name=depts cascade=all inverse=truekey column=parent_id/keyone-to-many class=com.jzgx.model.Dept//set多的一方private Dept deptmany-to-one name=parentDept class=com.jzgx.model.Dept column=parent_id/many-to-one注解配置一的一方private Set depts;@OneToMany(cascade={CascadeType.ALL},targetEntity=Dept.class,mappedBy=parentDept)多的一方private Dept dept@ManyToOne@JoinColumn(name=dept_id)4.3一对一比如一个人只能有一个身份证,人是一个实体,身份证也是一个实体,他们之间的关系是一对一。下面是一对一主键关联方式Xml配置方式主键生成策略产生ID主的一方one-to-one name=stuCard class=com.jzgx.model.StuCard cascade=all/one-to-oneid name=stuId column=stu_id type=java.lang.Longgenerator class=native//id与之对应从的一方one-to-one name=student constrained=true/one-to-oneid name=stuId column=stu_id type=java.lang.Longgenerator class=foreignparam ame=propertystudent/param/generator/id注解配置主键生成策略产生ID主的一方@OneToOne(cascade={CascadeType.ALL})@PrimaryKeyJoinColumn@Id@GeneratedValue@Column(name=stu_id)与之对应从的一方@OneToOne(mappedBy=stuCard)@Id@Column(name=stu_id)@GenericGenerator(name=fkGen,strategy=foreign,parameters={@Parameter(name=property,value=student)})@GeneratedValue(generator=fkGen)一对一用得比较多的是外键关联方式,其实是一方多对一退化成一对一的结果Xml配置方式主键生成策略产生ID主的一方one-to-one name=stuCard class=com.jzgx.model.

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档