问题描述
对象持久化理论:什么叫做对象持久化?将内存中以对象状态存在的数据转存到外部持久设备上。(注:这个转向不是单向的,而是可以在内外之间相互转换)为什么要对象持久化?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。