'Hibernate 完全手册' 读书笔记(一) 对象持久化基础


    数据库技术已经成为企业信息平台的核心。应用程序必须将业务相关的数据通过一定方式持久化到数据库,还应能够从数据库获取已有的数据,以适当的形式提供给客户或支撑系统的运行。

    关键点:如何高效地存取数据、简化编程模型、降低应用的复杂度

    在系统中引入持久层,负责所有相关数据的持久化操作,可以为整个应用系统提供一个高层、统一、安全、并发的数据持久机制。


1、对象持久化技术

1-1、Java 对象序列化
    序列化是 Java 语言中内置的轻量级数据持久化机制,该机制可以将任何实现了 java.io.Serializable 接口的对象转化为连续的字节流数据,保存在文件中,或者通过网络进行传输。这些数据日后可被还原为原先的对象状态。
    缺点:局限性大,查询只能返回数据流的下一个对象,不提供部分的读取和更新,不提供对象的生命周期管理,只是简单的读取和写入,不提供并发和事务特性。

1-2、使用 JDBC
    JDBC(Java Database Connectivity)是用来访问关系数据库系统的标准 Java API。JDBC 只是提供访问数据的接口,其底层实现有特定的数据库厂商实现。
    缺点:直接使用 JDBC 实现持久化时,SQL 语句和应用代码混杂在一起,逻辑混乱。另外直接使用 SQL 操作数据库,不是面向对象。

1-3、使用 JDO
    Java 数据对象(Java Data Object)是 JCP(Java Community Process)发布的一个规范,是 Java 对象持久化的标准。JDO 仅定义了标准的编程接口,而把关系映射的定义留给软件供应商实现。

1-4、实体 EJB
    实体 EJB(Enterpise Java Bean)是 Java 领域的数据持久化标准。

1-5、对象关系映射
    对象关系映射(Ojbect Relation Mapping)在对象模型和关系模型之间建立沟通的桥梁。ORM 技术封装了数据持久化的操作细节,为应用程序提供了一只访问的接口,使应用程序可以专注于业务逻辑的处理。它采用 POJO(Plain Old Java Object,简单的传统对象)作为域对象的表述,不涉及域对象之外的技术细节,降低的 ORM 技术的侵入性,实现简单,便于测试,具备高扩展性。


2、对象关系映射模型
    一个完整的对象关系映射框架,应具备以下四个方面:

①、一个元数据映射规范,负责持久化类、类属性的数据库表、字段的映射,实现对象和关系的语义连接。
②、一组对象操作接口,用于完成数据的增加、删除、修改和更新等操作。
③、一种面向对象的查询语言,该语言能理解继承、多态和关联等面向对象特性,实现基于对象的查询并在对象之间导航。
④、一系列与数据库现关的技术实现和最佳实践,保证系统的完整性并提高系统的可用性和扩展性。比如:事务、缓存和数据抓取策略等。

对象模型(类、属性、关联)   <==>   关系模型(表、字段、约束)

 

ps. <Hibernate 完全手册>
ISBN 978-7-111-23764-8
机械工业出版社
侯志松 余周 郑焕 等编著

posted on 2009-04-10 09:50  黄小二  阅读(256)  评论(0编辑  收藏  举报