JDO的纯面向对象方法和设计的简单性使掌握它所需的适应期比其它两种持久性技术都短。
CastorJDO最早发布于1999年12月,它是第一批可用的开放源码数据绑定框架之一。
从这里开始可以看到JDO如何允许您以面向对象的方式来处理持久性。
与Java家族中的其他规范相似,JDO消除了锁定到特定供应商的危险。
它还包含了一个jdoconfig.xml文件,因此,一旦对Contact类进行了注释,您就已经准备好开始使用JDO。
由于BigTable不是一个关系数据库,JDO和JPA的接口出现了一些抽象泄漏。
利用定义好的简单triathlonJDOPOJO和方便的PersistenceMgr对象,我已经有了很好的起点。
尽管JDO规范的发展还刚刚起步,它已经填补了Java社区中的一个空白。
您将会看到一个更强大的标准,而且好的JDO供应商将能够在那些市场中占有一席之地。
由于JDO仍是一种相当新的技术(最新的J2EE持久性解决方案),所以我们将首先概述其工作原理。
目前,没有任何主要的关系数据库管理系统(RDBMS)供应商支持JDO。
JDO为基于开放标准的快速开发提供了便利,几乎可用于任何Java环境。
Castor附带了一些JDO示例,它们给出了围绕某个产品概念的数据模型和对象模型。
CastorJDO只不过是当今开放源码世界中许多可用数据绑定解决方案中的一种。
在过去三年左右的时间里,最好的技术持久性框架来自JDO社区。
我将使用一个简单的HTTP页面、一个Groovlet以及一个增强了JDO的Java类来持久化事件(在本例中为triathlon)。
所有这些现状使JDO开发人员和架构设计师几乎没有已经实践证明的设计模式或案例研究来指导他们的JDO开发工作。
当编写一个将来由JDO持久存储的类时,类中数据成员的类型很重要。
这篇介绍性的文章应该足以让您初识JDO2.0的JPOX实现。
因此,尽管很容易将JDO对象声明为事务性的,但仍必须使用非事务性组件来访问它们。
相对于JDO固有的简单性,J2EE架构设计师和开发人员必须权衡缺乏模式、最佳实践和案例研究所产生的影响。
由于更多的应用程序代码变为通过JDO库来透明地处理,因此可以减少bug,同时也可加快发布的时间。
尽管这些数据并不表示JDO是一种差劲的技术,但它们确实表明它还处于前沿。
您可以在JPA和JDO间设置关系,但它们只能用来持久化关系。
首先,我们将会关注将一个标准Java类(POJO)转化为支持JDO持久性所需要的步骤。
大多数EJBCMPCMR解决方案使用代码生成实现持久性代码,而JDO使用字节码修饰。
基本上,PersistenceManager是JDO持久性系统的主接口。
JDO会拦截对被持久存储对象的更新,并自动持久存储状态的任何更改。