第2章 对象关系映射

第2章 对象关系映射

ID:20698663

大小:432.50 KB

页数:36页

时间:2018-10-15

第2章  对象关系映射_第1页
第2章  对象关系映射_第2页
第2章  对象关系映射_第3页
第2章  对象关系映射_第4页
第2章  对象关系映射_第5页
资源描述:

《第2章 对象关系映射》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、HibernateORM最佳实践第2章对象关系映射回顾介绍应用程序分层体系结构ORM技术背景(数据库操作、持久化、JDBC比较及ORM工具)Hibernate的环境配置及入门程序编写2目标了解Hibernate的对象标识符学习Hibernate的主键生成机制掌握Hibernate的映射类型掌握对象继承关系映射掌握关联关系映射3对象标识符Hibernate使用OID(ObjectIdentifier)来标识对象的唯一性,它是关系数据库中主键在Java对象模型中的等价物三个不同的OIDHibernate能够识别三个不同的primaryKeyHibernate根据对象标识符

2、来维持Java对象和数据库表中记录的对应关系问题数据库表中每条记录PK值不同的,但是在Java中靠对象的内存地址来识别的?4重写对象equals和hashCode方法Students1=newStudent(100,”TOM”,22);Students2=newStudent(100,“TOM”,22);Students3=s1;System.out.println(s1==s2);System.out.println(s1==s3);falsetrue重写equals()与hashCode()方法,不仅比较对象的地址,同时比较对象的具体内容Hibernate区分对象

3、实体,是与数据库记录一致的。5Hibernate对主键分类两种分类:①单个主键、复合主键②自然(业务)主键、代理(逻辑)主键Hibernate内置对象标识符生成策略6主键映射单个主键映射复合主键映射……把组成主键的属性组成一个类.7示例在映射表中:8Hibernate的映射类型Hib

4、ernate连接Java对象和数据库表,在映射表里,使用及其他属性标签时,type属性既不是Java数据类型,也不是SQL数据类型,而是使用Hibernate的映射类型映射类型分为:基本映射类型和自定义映射类型如果在映射文件中没有指定映射的数据类型,Hibernate通过反射机制查找属性所在类的类型。9继承关系映射Hibernate提供3种继承持久化策略:①每个子类一张表②每个类一张表③共享一个数据表Studentsid:Longsname:StringUndergraduatetutor:StringGraduategtime:date10每个子

5、类一个数据表将父类属性分别加入到子类中去,分别对子类设计映射文件,针对子类对象进行操作,不能使用多态进行ORM操作。UndergraduateGraduatesid:Longsname:Stringtutor:Stringsid:Long(PK)sname:Stringgtime:dateTable:undergraduateTable:graduate①设计所映射表②设计映射表:Undergraduate.hbm.xml、Graduate.hbm.xml类(PK)11每个类一个数据表在父类映射表中利用标签定义其子类的映射Studen

6、tUndergraduateGraduatesid:Long(PK)sname:Stringusid:Long(PK)tutor:Stringgsid:Long(PK)gtime:date12示例下面代码展示子类对象的持久化操作可由父类对象来完成!13代码14共享一个数据表只定义一个父类表,在父表中包括子类属性对应的字段,同时增加一个区分子类类型的字段。在父类映射表中,定义标签来描述区分子类类型的字段,标签定义子类的映射。15示例下面代码展示子类对象的持久化操作可由父类对象来完成!16代码1718关联关系映射使一个类知

7、道另一个类的存在,表现在数据库中,通常用一个外键字段关联到另一张表。关联关系是有方向的,可以是单向,或双向的。Hibernate提供下列检索策略:①一对一关联②一对多、多对一关联③多对多关联④组件映射19关系映射(一)多对一关系/一对多关系它们是相对的关系,在关系映射表中使用标签来映射关系.班级-学生关系tunittid(PK)tnametstudentsid(PK)sna

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。