Goingmm

  BlogJava :: 首页 :: 新随笔 ::  :: 聚合  :: 管理 ::
  82 随笔 :: 15 文章 :: 452 评论 :: 0 Trackbacks

       几个月前项目中用过hibernate。但是突击式的学习过程。现在回想起来,还真是没能留下什么痕迹。
今天开始,我将会在空闲时间写下对Hibernate的一些认识。就当是一个 "认知" 的过程

       Web应用框架(Jakarta Struts 对 WebWork),GUI组件框架(Swing 对 SWT),或模版工具(JSP 对
Velocity)。每一种相互竞争的解决方案都有其优缺点,但它们至少都共享了相同的范围与总体的方法。
不幸的是,这还不是持续性技术的情形,对持续性技术相同的问题有许多不同的混乱的解决方案。
     
      前面这段话,意味深长。这是对"持续性技术"现状的一个概括。
      本着这种现状去学习和研究"持续性技术",把现今熟悉的"持续性技术"进行对比式的学习。寻求框架
的处理思路。分析他们的优点,缺点...

  先思考几个问题

 1)数据持久到底有那些成熟的方式? 
    ■ 直接使用SQL和JDBC进行工作 也可以结合DAO模式
    ■ 序列化持续性机制 他提供了将对象图(应用状态)写到字节流中的能力,然后它可能被持续化到文件或数据库中。
         他也被Java的远程方法调用(RMI)使用来为复杂对象传递值语义。他的另一种用法是在机器集群中跨节点复制应
         用状态。
    ■ EJB实体Bean
    ■ JDO
    ■ ORM  对象-关系映射:中间的短线强调了当这两个领域相碰撞时出现的不匹配问题
    ■ XML持续层 XML持续层是序列化模式的变种。
    ■ 存储过程

 2)ORM解决方案有那些组成部分?
    ■ 在持续类的对象上执行基本的CRUD操作的一组API。
    ■ 用于指定查询的一种语言或一组API,这些查询会引用类和类属性。
    ■ 用于指定映射元数据的工具。
    ■ 实现ORM的一项技术,用来与事务对象交互以完成脏检查、懒关联存取和其它优化功能。

 3)实现ORM的有那些不同的方式?
    ■ 纯关系
    ■ 轻量对象映射
    ■ 中等对象映射
    ■ 完全对象映射

 4)相关的ORM有那些问题?
    ■ 持续类像什么?它们是细粒度的JavaBean吗?或者它们是一些类似于EJB的组件模型的实例吗?持续性工具有多么
         透明?我们需要为业务领域的类采用一种编程模型或一些规范吗?
    ■ 映射元数据是如何定义的?因为对象-关系转换完全由元数据控制,这些元数据的格式和定义是重要的核心问题。
         ORM工具应该提供一个图形化处理元数据的GUI吗?或者有定义元数据的更好的方法吗?
    ■ 我们应该映射类的继承层次吗?这有几种标准策略。多态关联、抽象类和接口怎么映射呢?
    ■ 对象同一性和相等性如何关联到数据库同一性(主键)?我们如何将特定类的实例映射到特定表的行。
    ■ 在运行时持续性逻辑如何与业务域对象交互?这是一个普通的编程问题,有许多的解决方案包括源代码生成、运行时
         反射、运行时字节码生成和编译时字节码增强。这个问题的解决方案可能影响到你的构建过程(但宁可如此,你也不
         愿受到其它像用户那样的影响)
    ■ 持续性对象的生命周期是什么样的?有些对象的生命周期依赖于其它关联对象的生命周期吗?
         我们如何将一个对象的生命周期转化为数据库行的生命周期?
    ■ 为排序、检索和合计提供了什么样的工具?应用可以在内存中处理其中的一些事情。但为了有效地使用关系技术有时
         需要通过数据库完成这些工作
    ■ 如何有效地取出关联数据?对关系数据的有效访问通常通过表连接实现。面向对象的应用通常通过导航对象图访问数
         据可能的话,两种数据访问模式应该避免n+1次选择的问题,以及它的补充笛卡尔积的问题(在一次查询中取出过多的
         数据)

  5)所有数据访问技术都不得不面对的问题有那些?
    ■ 事务和并发性
    ■ 缓存管理(和并发性)

posted on 2005-10-22 21:52 Goingmm 阅读(238) 评论(1)  编辑  收藏 所属分类: Reading Note

评论

# re: Cognize Hibernate ... First 2005-10-26 10:22 9527
1)2)写得不错,后面3条都TNND虚幻,CRUD这个关键字不错。。。感觉向XQL学到不少东西。。。  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: