关于对象持久化的一些理论

问题描述

对象持久化理论:什么叫做对象持久化?将内存中以对象状态存在的数据转存到外部持久设备上。(注:这个转向不是单向的,而是可以在内外之间相互转换)为什么要对象持久化?1内存不能长时间保存数据2内存容量有限,尤其对于企业级的海量数据而言。3内存是严格受保护的,只可以在本地使用其中的数据。但是大部分的时候我们需要共享其中的数据,所以需要转存出来,以共享数据。4在众多的内存对象中做条件查询很困难,所以需要将数据做一个格式化的转化,以方便大规模的检索。[color=#FF0000请问:支持大规模检索的机制有哪些?[/color]5企业级数据处于安全性考虑,需要严格的安全保障机制。所谓安全,就是数据在被访问时不应该被破坏。具体方法如下:访问者必须有一定的角色和权限;对数据进行更新要遵守严格的机制;(有哪些机制?)做日志。所谓保障,是指在正常访问的情况下,机器设备可以不受外界物理损坏。具体来说可以进行异地备份。怎样进行对象持久化?(仅考虑java范畴之内)1对象序列化。但只适用于少量的、短时间的对象持久化。因为对象序列化的物理结构是二进制保存的,所以不能支持海量数据检索。2利用数据库持久化数据库可以长时间保存数据,还可以保存海量数据,还可以共享数据,还支持大规模的检索(SQL语句),而且安全保障机制也都具备,所以使用数据库是最适合对象持久化的方式。所以,我们得出一个结论,在Java平台下,对象持久化只能用数据库。怎样使用数据库做持久化?1JDBC(96--99年)优点:最底层也是功能最完备的(如果连JDBC都不能完成的功能,则其他工具更不能完成了就!);理论上是效率最好的。(为什么呢?)持久对象可以为pojo,从而充分利用面向对象的优势。(pojo的含义是什么呢?)缺点:因为最底层,所以语法上很精细,从而也使得代码量比较大,学习和运用的难度也比较大。2EJB(99年,SUN推出)一个类,再写一个配置文件,JDBC自动生成。优点:封装了JDBC缺点:API比JDBC的还要复杂,更难学了;属于重量级的解决方案,从而开发周期长,错误难排除,而且测试也困难,另外服务器还会捆绑太多不需要的东西。pojo成了一个组件,无法发挥面向对象的优势。3轻量级ORM框架(以Hibernate为代表)优点:封装了JDBCAPI比JDBC的要简单的多Hibernate是一个轻量级的结构,它只是一个类库,只有持久化的功能。持久对象可以为pojo,从而充分利用面向对象的优势。结论:ORM框架是最佳选择,标准化之后是EJB3.0.希望大家可以指教一下里面的一些问题。

解决方案

解决方案二:
楼主的学习笔记?
解决方案三:
越底层的效率越高pojo就是简单的javabean。

时间: 2024-08-07 23:21:56

关于对象持久化的一些理论的相关文章

借助BeanKeeper快速实现对象持久化

引言 NetMind BeanKeeper 是一个开源的 java 对象 / 关系数据库映 射框架,它可以帮助用户快速将对象保存到关系数据库中,同时它也支持自定义 地查询和事务,可以满足用户在各种应用场景的需求.它最大的特点就是简单, 无需配置.同时,它是纯 Java 的,也支持 HSQLDB 和 MySQL 等多种关系数据库.本文将介绍 BeanKeeper 的基本原理和架构,并将其同 Hibernate.Spring 等其他框架进行比较,总结其主要优点.最后将演示一个案例介绍如何借助 Bea

JAVA对象持久化

持久化就是将内存中的数据保存起来,使之可以长期存在.在JAVA中,我们可以把JAVA对象直接保存在文件中,在需要使用的时候,直接从文件中读取,这也是对象持久化的一种方式,在这一篇博客中,将演示两种将JAVA对象持久化到文件的方法,直接上代码: import java.beans.XMLDecoder; import java.beans.XMLEncoder; import java.io.File; import java.io.FileInputStream; import java.io.

第一章 对象持久化与Hibernate

1.1 解耦合1.1.1 应用层解耦合--应用逻辑(service)和数据逻辑(dao)分离1.1.2 资源层解耦合--逻辑结构和物理结构分离 1.2 DAO模式1.2.1 DAO对业务层提供数据抽象层接口数据存储逻辑分离数据访问底层实现的分离资源管理和调度的分离数据抽象 1.3 ORM Object Relactional Mapper 对象--关系型数据映射组件       ORM(Object Relational Mapping)---是一种为了解决面向对象与关系型数据库存在的互不匹配的

Flex 对象持久化_Flex

我们来看这样一个例子: 复制代码 代码如下: private function test() : void { var canvas :Canvas = new Canvas(); canvas.width = 100; canvas.height = 100; // 保存到ByteArray var b : ByteArray = new ByteArray(); b.writeObject(canvas); // 取出对象 b.position = 0; var o : Object = b

关于EJB的持久化对象技术分析

表格型的关系型数据库与树型Java对象之间的映射问题是一个至今争论不休的问题,好在现在已经有了一些好的解决方案.在本文中,我们将介绍EJB技术是怎样用自已特定的方式来解决这个问题的. 只要是涉及到保存及查询信息 ,那绝大多数应用程序都需要与关系数据库打交道.但由于关系数据库与Java对象在结构上有着本质的区别,关于它们之间的映射关系对于那些Java开发者们来说,是一个很令人头痛的问题.关系型数据库是以表格方式存储数据的,而Java对象是以树型方式表现的.这种类型上的不匹配引发了各种各样的对象持久

Hibernate框架学习之二:深入理解持久化对象

前言 由于Hibernate框架是一个完全的ORM框架,所以在Hibernate开发中只涉及具体的对象与属性,所以对象在Hibernate中是很重要的方面.而持久化对象则与数据库中的记录息息相关了,可以简单把持久化类理解为普通的JavaBean,也被称为POJO(Plain Old Java Object),在Hibernate3中,持久化类的定义与普通JavaBean的定义基本一致,而不需要额外实现其他接口或者继承某个类. 但是使用要想是一个普通的POJO与数据库对应起来还需要映射的配置(这点

关于EJB的持久化对象技术分析-JSP教程,面向对象/设计

摘自久久学院表格型的关系型数据库与树型Java对象之间的映射问题是一个至今争论不休的问题,好在现在已经有了一些好的解决方案.在本文中,我们将介绍EJB技术是怎样用自已特定的方式来解决这个问题的. 只要是涉及到保存及查询信息 ,那绝大多数应用程序都需要与关系数据库打交道.但由于关系数据库与Java对象在结构上有着本质的区别,关于它们之间的映射关系对于那些Java开发者们来说,是一个很令人头痛的问题.关系型数据库是以表格方式存储数据的,而Java对象是以树型方式表现的.这种类型上的不匹配引发了各种各

领域驱动设计-相关理论

最近 Rafy 开源中心 启动刚一个月,在初始的讨论会上,成员们对面向对象设计.领域驱动设计等概念展开了大量的讨论. 下面我转载一篇文章,这篇文章的详细内容我都还没看完.不过,文章的结构正是我想要的!其结构非常清晰,很好地说明了领域驱动设计相关的起源.重点.模式.经典架构,以及一些后人扩展的新概念. 转载自<DDD领域驱动设计基本理论知识总结>,并稍微调整了一下内容顺序. 为什么面向对象比面向过程更能适应业务变化 对象将需求用类一个个隔开,就像用储物箱把东西一个个封装起来一样,需求变了,分几种

Hibernate及JPA 对象关系映射的简单映射策略

简单映射 近年来 ORM(Object-Relational Mapping,对象关系映射,即实体对象和数据库表的映射)技术市场 热闹非凡,各种各样的持久化框架应运而生,其中影响最大的是 Hibernate 和 Toplink.Sun 公司在充分吸收现有的优秀 ORM 尤其是 Hibernate 框架设计思想的基础上,制定了新的 JPA(Java Persistence API)规范,对现在乱象丛生的持久 化市场带来一个标准,大有统一持久化市场的气势.JPA 是通过 JDK5.0 注解或 XML