首页 | 互联网 | IT动态 | 网络设备 | 服务器 | IDC | 安全 | Cisco | Windows | Linux | Java | .Net | Oracle | CIW | 华为 | 专题
IT技术 | 网页设计 | 平面设计 | 电子书下载 | 教学视频 | 方案 | 数字网校 | 直播室 | 虚拟考场 | 面授培训 | 搜索 | 博客 | 沙龙 | 论坛
首页 | JAVA | C# | VB | VB.NET | C/C++ | delphi | 工程管理 | 其他语言 | 论坛
免费注册一站通帐号,参与直播、论坛、下载、博客、网摘、评论,展现我的风采!
您现在的位置: 中国IT实验室 >> 桌面开发 >> 其他语言 >> 文章正文
EJB3 Persistence API标准化持久性
来源:中国IT实验室收集整理  时间:2007-6-21

  持久性对于大多数企业应用程序都非常关键,因为它们需要访问关系数据库(例如Oracle Database 10g)。如果您正在使用Java开发应用程序,您可能需要完成一些常规任务(例如数据库更新和检索),这是通过编写JDBC和SQL来完成的。最近几年,几种对象关系(O-R)映射框架(例如Oracle TopLink、JBoss Hibernate和BEA Kodo)开始流行,因为它们简化了持久性问题,将Java开发人员从编写JDBC代码的工作中解放出来,从而使他们能够将精力集中于业务逻辑。一些Java标准(例如EJB 2.x容器管理持久性(CMP)实体bean)也试图解决持久性挑战,但是不那么成功。

  虽然存在多种构建应用程序持久层的选择,但是还没有一种面向Java平台的、在Java EE和Java SE环境下均可使用的持久性标准。好消息是EJB3 Java Persistence API (JPA)(它是EJB 3.0规范JSR-220的一部分)的出现,它标准化了面向Java平台的持久性API。JSR-220为O-R映射供应商(例如TopLink、Hibernate和Kodo)以及其他领先的应用服务器供应商和JDO供应商所广泛接受。EJB3规范提供了一种极有吸引力的选择,用于构建企业Java应用程序的持久层。

  在本文中,我将介绍EJB3 Java Persistence API,我将使用一个简单的域对象模型作为示例。

  域模型

  在构建企业应用程序时,我们首先会设计希望将其保存在数据库中的域对象模型;然后,与数据库设计人员合作,确定数据库模式。域模型表示了持久性对象或实体。实体可以是人、地方或事物,您存储关于它们的数据。它包含数据和行为。富域模型具有所有面向对象的行为特征,例如继承性和多态性。

  我们的简单域模型(图1)具有Department与Employee实体之间的双向一对多关系。FullTime和Contractor实体继承自Employee实体。


图1.示例域对象模型


  O-R框架和EJB3 JPA基础知识

  如果使用过O-R映射框架(例如Oracle TopLink)构建应用程序持久层,您就会注意到,每种框架都提供三种工具:

  一种声明式地执行O-R映射的方式。这种方法(称为O-R映射元数据)允许将对象映射到一个或多个数据库表。通常,大多数O-R框架使用XML存储O-R映射元数据。

  一个用于操作实体(例如,执行CRUD操作)的API。此API允许持久化、检索、更新或移除对象。基于API和O-R映射元数据的使用,O-R框架代表开发人员执行数据库操作。此API将开发人员从编写JDBC或SQL代码以持久化域对象的工作中解放出来。

  一种用于检索对象的查询语言。这是持久性最重要的方面,因为非法的SQL语句可能会降低数据库的速度。此方法也对应用程序屏蔽了混乱地遍布应用程序的的专有SQL。查询语言允许检索实体或对象,并将开发人员从编写SQL SELECT语句的工作中解放出来。

  EJB3 Java Persistence API (JPA)提供一种标准O-R映射机制、一个执行CRUD操作的EntityManager API以及一种扩展EJB-QL以检索实体的方式,从而标准化了面向Java平台的持久性的使用。我将在后面讨论这三个方面。

  启用元数据注释

  Java SE 5.0引入了元数据注释。Java EE的所有组件(包括EJB3 JPA)大量使用元数据注释以简化企业Java开发。要了解关于元数据注释的更多信息,请参阅Kyle Downey所著的Bridging the Gap: J2SE 5.0 Annotations。在EJB3 JPA中,注释可以用于定义对象、关系、O-R映射和持久性上下文的注入。JPA还提供使用XML描述符来代替的选择。我将主要介绍元数据注释的使用,因为它们大大简化了开发。不过,您可能更倾向于在生产部署环境中使用XML描述符,因为可以使用它们重写注释。

[1] [2] [3] [4] [5] [6] 下一页  

【责编:Youping】

中国IT教育热线咨询

相关文章
没有相关文章
推荐文章
· 用C#创建COM对象
· IT管理十大失误及其对策
· VC中利用MFC设计绘图程序初步
· JAVA中对象创建和初始化过程
· C语言中的位域的使用
· 浅谈Java桌面应用程序开发
· C#的前途如何?
· 几种VC++数据库开发技术的相对比较
 精彩友情推荐
·锐捷交换机报价
·锐捷交换机
·锐捷网络网络交换机
·smc交换机
·smc交换机报价
·IDC资讯大全
·机房品质万里行
·IDC托管必备知识
·全国IDC报价
·网站推广优化
最新更新 推荐文章
·Visual Basic 9.0隐式类型的局部…09-30
·JMX+J2SE5.0实现Web应用的安全管…09-30
·多线程、Socket技术及委托技术的…09-21
·Visual C#多线程参数传递浅析09-21
·浅谈Java中利用JCOM实现仿Excel编…09-21
·基于Java的界面布局DSL的设计与实…09-21
·Java开发中的事件驱动模型实例详…09-21
·并发工程原则应用到软件项目中09-06
·Delphi初学者应小心的六大陷阱09-06
·VC开发多语言界面支持的简单方法09-06
·用C#创建COM对象09-06
·用C#创建COM对象09-06
·IT管理十大失误及其对策08-30
·VC中利用MFC设计绘图程序初步08-23
·JAVA中对象创建和初始化过程08-23
·C语言中的位域的使用08-09
·浅谈Java桌面应用程序开发08-09
·C#的前途如何?08-02
·几种VC++数据库开发技术的相对比较07-12
·用Visual C#实现网络封包监视07-12
·VB.NET中的TextBox控件详解07-12
·VB.NET实现PC与掌上电脑PPC的双向通信07-05
  培训中心