知识大全 优秀的对象角色建模解决方案-Torque

Posted 数据库

篇首语:高斋晓开卷,独共圣人语。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 优秀的对象角色建模解决方案-Torque相关的知识,希望对你有一定的参考价值。

优秀的对象角色建模解决方案-Torque  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  目前对于J EE应用中的Persistence Layer的解决方案很多 其中 最近从Apache Turbine中剥离处理的Torque是一个优秀的ORM(Object Relational Mapping 对象角色建模) 解决方案           主流的Persistence Layer解决方案           随着基于J EE应用的日益增加 出现了很多Persistence Layer的解决方案 目前主要的解决方案有以下几种           ◆ 自己编写基于JDBC API的解决方案           ◆ 采用ObjectRational Mapping(ORM)工具或者是采用面向对象的数据库(ODBMS)           ◆ J EE/Entity Bean CMP (container managed persistence)           ◆ JDO           JDBC           在很多情况下 尤其是没有采用良好的Persistence Layer解决方案的项目中 开发人员需要自己手动编写SQL语句 同时还要考虑事务处理等问题 从而使得SQL语句散落在代码中 可维护性很差 同时 由于每个项目都要重新编写Persistence 相关的代码 所以代码可重用性差 另外要求开发人员对于SQL语法必须非常熟悉 否则调试也比较困难           使用JDBC的解决方案 数据必须存储在关系型数据库中           ORM或者ODBMS           为了将开发人员从SQL语句中解脱出来 产生了很多ORM的工具 这些工具都比较简单 并且提供了API支持           由于ORM工具比较多 它们采用的技术标准都不尽相同 而且没有统一的接口 因此 它们在为开发人员提供方便的同时 也增加了一定的束缚 ORM技术是比较成熟的 而且已经有很多产品了           而ODBMS是近几年发展起来的 并不十分成熟 而且也没有得到广泛的应用 目前 众多ODBMS厂商正在关注JDO标准并加以实施 它可能在不久的将可以得到一定的推广           使用ORM或者ODBMS的解决方案 数据也必须存储在关系或者面向对象数据库中           EJB CMP           在J EE的规范中 为EJB定义了两种Persistence的解决方案 一种是BMP 另一种是CMP 其中CMP不需要将SQL语句加入到代码中           目前 在采用J EE的应用中 EJB CMP方式得到了广泛应用 更加引人注意的是 随着EJB规范的发展 CMP也包含了一些高级关系的内容 但是 CMP的使用比较复杂 对很多开发人员来说比较难以掌握 而且 不是在所有的情况下都适合在系统中采用EJB           EJB提供了除了关系型数据库以外 更多的存储支持           JDO         目前 有两种类型的JDO实现 一种是Sun的JDO 另一种是Castor JDO 这两者并不兼容           Sun JDO是Sun Java Community Process给出的规范和参照实现 尽管JDO还有些不成熟 但它很有发展前景 而且填补了数据库编程领域的一大空白 对Java开发人员而言 JDO为对象持久性提供了第一个标准化的 完全面向对象的方法 与此领域中的其它技术相比 JDO的优点是使用起来十分简单 而且对原始的Java源代码打乱程度最小 同时 Sun JDO对数据存储类型是透明的           而Castor JDO是一个开源项目 从 年开始开发 在开源的JDO项目中 它提供的功能是最强大的 尽管Castor JDO开发的比较早 但是 随着Sun JDO的日益成熟 它的优势越来越小 同时 Castor JDO只提供对RDMS的支持           从上面的分析我们可以看到 由于目前绝大多数应用系统的数据都是存储在RDMS中 而且JDO目前还不十分完善 因此 在项目中还是应该采用成熟的ORM工具           Torque           Torque是一种ORM的工具 它最早是Apache Jakarta Turbine项目的一部分 现在已经从Turbine中剥离出来 可以独立使用 目前 它的版本是           Torque的主要特性           Torque主要包含两部分 一部分是Generator 它可以产生应用需要的所有数据库资源 包括sql和java文件 另外 Torque还提供了一个运行环境来运行产生的类 下面主要讨论Torque 的Generator            . 三个核心文件           要利用Torque的Generator 必须配置好以下三个文件(Torque的安装路径为$Torque_home)           ◆ $Torque_home/build properties 存储数据库系统的属性 主要有项目名称 数据库类型 数据库链接URL Driver 用户名 密码及主机名等 Torque利用该文件的属性 建立与数据库系统的连接           ◆ $Torque_home/schema/project schema xml id table schema xml 其中 project schema xml 存储表结构信息 而id table schema xml由Torque的IDBroker服务调用           ◆ $Torque_home/Torque properties 存储应用执行时 由Torque生成的对象模型代码使用的属性值 在生成数据库系统资源的时候不需要这个文件            核心任务           利用Torque提供的Generator 可以完成下面的主要任务           ◆ sql 解析$Torque_home/schema/* xml 生成对应的$Torque_home/src/sql/* sql文件           ◆ doc 解析$Torque_home/schema/* xml 生成对应的$Torque_home/src/sql/l文件 描述数据库结构           ◆ create db 生成不同平台上产生数据库系统的脚本           ◆ insert sql 执行$Torque_home/schema/* schema sql文件到指定数据库           ◆ sql xml 解析$Torque_home/schema/schema sql文件 产生Torque对应的数据库文件$Torque_home/schema/schema xml           ◆ id table init sql 根据$Torque_home/schema/id table schema xml文件产生id表的初始化脚本文件           上述任务需要ANT的支持 运行命令为$Torque_home/ant f build torque xml $taskname            Peer         Peer是Torque使用的ORM工具 它比其它的工具(例如Castor Osage等)的层次要低 开发人员需要手工编写一些代码 但是这从一定意义上增加了灵活性           Peer利用Torque数据库Adaptor类来建立与数据库的连接 因为它支持主流的数据库系统 所以 开发人员一般情况下不需要为数据库系统编写Adaptor           在建立了项目数据库系统的Schema文件后 运行 ant f build torque xml Torque为Schema 中的每个表的对象模型生成四个类 例如开发人员在project schema xml 中定义了Author表 则Torque生成的四个类为Author AuthorPeer BaseAuthor BaseAuthorPeer等 其中Author和AuthorPeer分别是BaseAuthor和BaseAuthorPeer 的子类 这两个基类(BaseAuthor BaseAuthorPeer)包含了Torque的生成逻辑 在开发中不应该修改 因为Torque会在再次生成对象模型时覆蓋这些文件 所以系统中的业务逻辑应该放在Author和AuthorPeer类中           在Torque中 AuthorPeer和BaseAuthorPeer称为对等类(Peer Classes) 而Author和BaseAuthor称为数据对象(Data Objects) 对等类和数据对象之间的区别是 对等类 封装数据表信息 并提供静态方法对表进行增加 删除 修改记录的操作 数据对象 封装表中的记录信息 并对每个字段提供getters/mutators方法            Criteria         Criteria是一对SQL查询标准的抽象对象 开发人员利用它来封装特定的SQL语句 Criteria实际上是SQL语句中域名和值之间的映射 默认的Comparator是等于(=) 同时 它还提供基本的Comparator 以及Join Order by Distinct等 更多的方法及属性 请查看 apache torque util         Criteria           Criteria提供了一般意义上的SQL功能 如果仍然不能满足开发的需要 开发人员仍然可以手写SQL语句           Torque在J EE中的应用           在Apache Jakarta的项目中 有很多Web 应用构架 其中Struts Cocoon及Turbine是比较著名的几个         Torque作为数据库抽象的工具 虽然是从Turbine中剥离出来的 但是它可以与其它的构架很好地结合 成为Persistence层的优秀解决方案           应用步骤           在J EE应用 使用Torque的步骤如下            . 系统分析和设计 直至Business Object            . 按照Business Object模型 形成数据库脚本文件database sql            . 编写$Torque_home/build properties    cha138/Article/program/Java/hx/201311/25535

相关参考

SuchmanEA认为,患者由于疾病放弃独立生活和原有的角色义务,完全接受疾病和治疗方案,此种疾病行为处于__

SuchmanEA认为,患者由于疾病放弃独立生活和原有的角色义务,完全接受疾病和治疗方案,此种疾病行为处于_____。A、症状体验阶段B、承担角色阶段C、寻求医疗照护阶段D、患者角色依赖阶段答案:D

知识大全 java与模式笔记 - 合成模式

    合成模式:  合成模式把部分和整体的关系用树结构表示出来合成模式使得客户端把一个个单独的成分对象和由他们复合而成的合成对象同等对待    抽象构件角色:  这是一个抽象角色它给参加组合的对象规

知识大全 非常优秀的AJAX中文问题解决过滤器

非常优秀的AJAX中文问题解决过滤器  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n

按照演练过程中扮演的角色和承担的任务不同,可将应急演练人员分为5类。其中,不参与演练方案编写和演练情景设计过程的人员是( )

按照演练过程中扮演的角色和承担的任务不同,可将应急演练人员分为5类。其中,不参与演练方案编写和演练情景设计过程的人员是()。A.演练人员B.控制人员C.模拟人员D.评价人员答案:A【知识点】应急演练准

按照演练过程中扮演的角色和承担的任务不同,可将应急演练人员分为5类。其中,不参与演练方案编写和演练情景设计过程的人员是( )

按照演练过程中扮演的角色和承担的任务不同,可将应急演练人员分为5类。其中,不参与演练方案编写和演练情景设计过程的人员是()。A.演练人员B.控制人员C.模拟人员D.评价人员答案:A【知识点】应急演练准

知识大全 数学建模论文包括哪些内容

数学建模论文包括哪些内容? 全国大学生数学建模竞赛论文格式规范本科组参赛队从A、B题中任选一题,专科组参赛队从C、D题中任选一题。论文用白色A4纸单面列印;上下左右各留出至少2.5厘米的页边距;从

知识大全 Java开源UML建模

Java开源UML建模  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ArgoUML  使用ja

知识大全 急!数学建模的作业

100分求解!急!数学建模的作业如果你真的喜欢她,是应该用自己真诚的力量去帮助她,你不觉得这样在这里求人是在欺骗她吗?而且,我实话实说,自己的作业来求你,这样的女生不值得你“搞定”。急!算24点,大家

按照演练过程中扮演的角色和承担的任务不同,可将应急演练人员分为五类。其中,依据演练方案及演练计划的要求,以各种不同身份诱导演练人员按响应程序行动,并不断给出情况或消息,供参演的指挥人员进行判断、提出对

按照演练过程中扮演的角色和承担的任务不同,可将应急演练人员分为五类。其中,依据演练方案及演练计划的要求,以各种不同身份诱导演练人员按响应程序行动,并不断给出情况或消息,供参演的指挥人员进行判断、提出对

按照演练过程中扮演的角色和承担的任务不同,可将应急演练人员分为五类。其中,依据演练方案及演练计划的要求,以各种不同身份诱导演练人员按响应程序行动,并不断给出情况或消息,供参演的指挥人员进行判断、提出对

按照演练过程中扮演的角色和承担的任务不同,可将应急演练人员分为五类。其中,依据演练方案及演练计划的要求,以各种不同身份诱导演练人员按响应程序行动,并不断给出情况或消息,供参演的指挥人员进行判断、提出对