快速业务通道

Java学习杂谈(十二)--ORM - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
通过Java    Object预设某Field值去取数据库记录,是否在这样的记录也是不能保证的。真的要设计到完全映射的话,Java的Static被所有对象共享的变量怎么办?在数据库中如何表现出来……

我们能看到大量的问题像一座座大山横在那些框架设计者们面前,他们并不是没有解决办法,而是从不同的角度去考虑,会得到很多不同的解决方案,问题是应该采取哪一种呢?甚至只有等到真正设计出来了投入生产使用了,才能印证出当初的设想是否真的能为项目开发带来更多的益处。笔者引用一份文档中提到一个健壮的持久化框架应该具有的特点:

A    robust persistence    layer    should    support——

1.Several    types    of    persistence    mechanism

2.Full    encapsulation    of    the    persistence    mechanism.

3.Multi-object    actions

4.Transactions    Control

5.Extensibility

6.Object identifiers

7.Cursors:    logical    connection    to    the    persistence    mechanism

8.Proxies:    commonly    used    when    the    results    of    a    query    are    to    be    displayed    in    a    list

9.Records:   avoid   the   overhead    of    converting    database    records to    objects    and    then    back    to    records

10.Multi    architecture

11.Various    database    version    and/or    vendors

12.Multiple    connections

13.Native    and non-native    drivers

14.Structured    query    l

Java学习杂谈(十二)--ORM(2)

时间:2011-01-26 blogjava Gay Bird

现在来简短的介绍一下笔者用过的一些持久化框架和技术,之所以前面强调那么多共通的知识,是希望大家不要盲从流行框架,一定要把握它的本质和卓越的思想好在哪里。

1.Apache OJB

OJB代表Apache Object Relational Bridge,是Apache开发的一个数据库持久型框架。它是基于J2ee规范指南下的持久型框架技术而设计开发的,例如实现了ODMG 3.0规范的API,实现了JDO规范的API,核心实现是Persistence Broker API.OJB使用XML文件来实现映射并动态的在Metadata layer听过一个Meta-Object-Protocol(MOP)来改变底层数据的行为。更高级的特点包括对象缓存机制、锁管理机制、Virtual    代理、事务隔离性级别等等。举个OJB Mapping的简单例子ojb-repository.xml:

<class-descriptor class="com.ant.Employee" table="EMPLOYEE"> <field-descriptor name="id" column="ID" jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>    <field-descriptor name="name" column="NAME" jdbc-type="VARCHAR"/> </class-descrptor>    <class-descriptor class="com.ant.Executive" table="EXECUTIVE"> <field-descriptor name="id" column="ID" jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>    <field-descriptor name="department" column="DEPARTMENT" jdbc-type="VARCHAR"/>    <reference-descriptor name="super" class-ref="com.ant.Employee"> <

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号