- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Hibernae教程(讲师用)
Hibernate教程
前言
java对象持久化技术
1.1 、hibernate是什么
1.2、软件模型
1.2.1、概念模型
1.2.2、关系数据模型
1.2.3、域模型
1.2.4、域对象
1.2.5、域对象之间的关系
1.2.6、域对象的持久化概念
提示:
1.3、数据库访问模式
1.3.1、ORM模式
1.3.2、主动域对象模式
1.3.3、JDO模式
1.3.4、CMP模式
一、数据源层-O/R Mapping
主要介绍三层架构,如何分层?(逻辑上的分层,二个原则)
数据层技术的选择:直接使用
1.1、SQL/JDBC:
优点:很多开发者熟悉关系数据库管理系统,理解SQL,也知道如何使用表和外键进行工作。此外,他们可以始终使用众所周知并广泛使用的DAO设计模式对业务逻辑隐藏复杂的JDBC代码和不可移植的SQL。
缺点:为域中的每个类手工编写持续性代码的工作是非常可观的,特别是需要支持多种SQL方言时。这项工作通常会消耗很大一部分的开发努力。此外,当需求改变时,一个手工编码的解决方案总是需要更多的注意和维护努力。
1.2、序列化:
Java有一个内建的持久化机制:序列化提供了将对象图(应用状态)写到字节流中的能力,然后它可能被持久化到文件或数据库中。持久化也被Java的远程方法调用(RMI)使用来为复杂对象传递值语义。持久化的另一种用法是在机器集群中跨节点复制应用状态。
缺点:很不幸,一个相互连接的对象图在序列化之后只能被当作一个整体访问,如果不反序列化整个流就不可能从流中取出任何数据。这样,结果字节流肯定会被认为不适合进行任意的检索或聚合。甚至不可能独立地访问或更新一个单独的对象或子图。
非常明显,因为当前特定的技术,序列化不适合于作为高并发性的Web和企业应用的持久化机制。在特定的环境中它被作为桌面应用的适当的持久化机制。
1.3EJB entity beans
EJB1.1实体Bean在实践中彻底地失败了。EJB规范的设计缺陷阻碍了Bean管理的持续性(BMP)实体Bean有效地执行。在EJB1.1许多明显的缺陷被纠正之后,一个边缘的稍微可接受的解决方案是容器管理的持续性(CMP)。然而,CMP并不能表示一种对象-关系不匹配的解决方案。
CMP缺点:
CMP实体Bean的粒度既太粗又太细:CMP Bean与关系模型中的表是按照一对一的方式定义的。这样,它们的粒度过粗,不能够完全利用Java丰富的类型。
虽然EJB可以利用继承实现,但实体Bean并不支持多态的关联和查询
不管EJB规范所宣称的目标,实体Bean实际上是不可移植的。CMP引擎的性能因厂商而异,并且映射元数据也是高度特定于厂商的。
实体Bean不可序列化。我们发现当我们需要将数据传输到远程客户层时,我们必须定
义额外的数据传输对象(DTO,也被称作值对象)
实体Bean必须依赖于EJB容器测试困难。
JDO、Object-oriented database systems
大多数面向对象的数据库系统对ODMG标准都提供了许多程度的支持,但据我们所知,还没有完全的实现。此外,在规范发布以后的很多年,甚至到了3.0版,还是感觉不太成熟,并且缺乏很多有用的特征,特别是基于Java环境的。ODMG也不再活跃。最近,Java数据对象(JDO)规范(发表于2002年4月)揭开了新的可能性。JDO由面向对象数据库团体的成员驱动,除了对现有的ODMG的支持之外,面向对象的数据库产品现在还经常将其作为主要的API采用。
JDO 的优点在于它很简单。开发人员使用 Java 语言持久存储对象实例并从存储器检索实例。处理逻辑、同步和故障转移等均被透明地处理。开发人员无需使用 SQL 或 Java 语言提供的不便的序列化机制,只使用 POJO(无格式普通 Java 对象)即可,利用 JDO 接口将对象引用传递到存储器中并从存储器检索对象引用。
1.4、O/R Mapping
1.4.1什么是O/R Mapping?它有什么优点?
简单地说,对象-关系映射就是Java应用中的对象到关系数据库中的表的自动的(和透明的)持久化,使用元数据(meta data)描述对象与数据库间的映射。本质上,ORM的工作是将数据从一种表示(双向)转换为另一种。
提高生产率(Productivity)
与持久性有关的代码可能是Java应用中最乏味的代码。Hibernate去掉了很多让人心烦的工作(多于你的期望),让你可以集中更多的精力到业务问题上。不论你喜欢哪种应用开发策略——自顶向下,从域模型开始;或者自底向上,从一个现有的数据库模式开始——使用Hibernate和适当的工具将会减少大量的开发时间。
您可能关注的文档
最近下载
- 九年级数学秋季开学第一课(北师大版).pptx
- 部编人教版八年级上册道德与法治全册新质教学课件(配2025年秋改版教材).pptx
- 第1讲 我爱你中国(第一课时)美丽中国是我家(课件)-《新时代中国特色社会主义思想学生读本(小学低年级)》.pptx VIP
- 大学毕业论文_外文文献及中文翻译-财务风险的重要性how important is financial risk.doc VIP
- 人美版(2024)一年级美术上册第一单元《1.1介绍我自己》教学设计.docx VIP
- 民警进幼儿园安全讲课.pptx VIP
- 2024全国职业院校技能大赛ZZ055导游服务赛项规程+赛题 (2).docx VIP
- 计算机网络基础 龚娟 第2章 数据通信基础.ppt VIP
- 沙田柚种植技术最新完整版本.pptx VIP
- DBJ52_T103-2021:模块化箱式房屋安装及验收技术标准.pdf VIP
文档评论(0)