思诚科技 seecen LOGO
咨询热线:0791-87557233
  首页 |   Java EE  
关于思诚
关注官方微信

Java数据对象(JDO)快速入门

来源:网络    更新时间:2014-12-3



  持久化Java技术对象到任何关系型数据库都是一项富有挑战性的任务,因为它必须潜心于序列化层次化结构的Java对象到基于表结构的数据库,反之亦然。这个挑战是独一无二的,因为将Java技术对象映射到数据库的列和记录的方式,必须要在速度和效率上同时达到最优化。Java数据对象(JDO)规范,JSR-12,为使用标准的方式来透明地持久化简单Java技术对象和访问数据库定义了API。使用JDO,Java应用程序开发者可以在不使用任何数据库特定代码的情况下编写代码访问底层的数据存储。JDO被设计成在一个企业架构的多重层次中工作,包括Java平台、标准版(JavaSE,以前被称为J2SE)、Web层和应用服务器。

  本文提供了JDO的指南,它包含了JDO的基本要素,并且提供了使用JDO持久化Java技术对象的示例代码。

  引言

  持久化,在程序退出后信息可以长期保存,在Java语言中可以使用不同的选择完成。最简单的是文件I/O,但是这种方式不适合在企业级存储中使用(原因很明显)。其它的选择包括以下几种:

  ·序列化(Serialization):API简单,不支持查询、多用户共享、事务处理和局部数据读取或更新。另外,它不适合大容量数据存储。

  ·JDBC软件:具有完全访问的SQL数据的功能。JDBC要求开发者必须显式地管理字段值以及把它们映射到关系数据库的表。在这种情况下,开发者必须熟悉另外一种开发语言(例如,查询语言SQL)。

  ·EJB架构容器管理持久性(CMP):作为Java企业级平台(JavaEE,以前被称为J2EE)组件模型的一部分,CMP为EJB容器提供了一种简便的对象持久化服务。然而,它不是一种对于Java平台的普通持久化工具。

  一种可行的选择是JDOAPI,它提供了一种标准的方式,使用Java技术完成对象的持久化,通过结合XML元数据和增强的字节码简化了开发复杂性和降低开发成本。

  JDO架构

  高级的JDOAPI为开发者透明地存储数据提供了接口,开发者不必为每一种新的持久化数据存储而学习一种新的数据库访问语言(例如SQL)。JDO也可以使用低级的API(例如JDBC)来存储数据。它使开发者可以编写Java代码透明地访问底层的数据存储,而不需要使用数据库特定代码。JDO在JCP的项目中作为一个JSR开发:JDO1.0,从2002年开始存在,是JSR-12;JDO2.0,2005年初被核准并且正在开发中,是JSR-243。

  JDO2.0是一个适合于简单Java对象(POJOs)持久化特点的JSR规范,很多厂家都在提供竞争性的实现。另外,很多厂家很可能在同一个的产品中实现JDO2.0和EJB3.0。这就允许你同时使用两种API,为你提供了逐渐迁移到EJB3.0POJO的简单方法,将会变为持久化模型的选择。

  JDO架构(如图1所示)的两个主要目的就是,为Java应用程序开发者提供透明地以Java技术为核心的访问持久化信息的方式,使数据存储的可插入式实现集成到应用服务器中。



图1JDO架构
  请注意,JDO没有定义数据存储的类型:你可以使用同样的代码持久化的你的Java对象到关系型数据库、对象型数据库、XML和任何数据存储。

  使用JDO的好处主要包括以下几点:

  ·简便性(Portability):使用JDOAPI编写的程序可以在不同开发商的多种可用的实现上运行,不用修改一行代码,甚至不用重新编译。

  ·透明地访问数据库(TransparentdatabaseAccess):应用程序开发者编写代码透明地访问底层数据存储,而不需要使用任何数据库特定代码。

  ·易用性(Easeofuse):JDOAPI允许开发者只需要关注他们自己范围内的数据模型(DomainObjectModel,DOM),而持久化的细节就留给JDO实现。

  • 上一篇文章:

  • 下一篇文章:
  •  

    0791-87557233

    重视每个来电 珍惜您的时间
    思诚者开发沙龙
    江西思诚科技有限公司  赣ICP备17006097号  CopyRight©2014 - 2018