文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发Java用EJB 3.0简化企业Java开发(下)
精品推荐
特别推荐
·实例讲解:Java中的SOAP技术
·Java语言出现的背景 影响及前景
·Java精华积累:初学者都应该搞懂的问题
·Java多媒体框架设计自动播放机实例详解
·如何有效防止Java程序源码被人偷窥?
·Cell插件在J2EE系统中的应用
·初学者想学Hibernate,初级基础教程
·Java语言实现支持视频点播的WEB服务器
·关于Java编程的中文问题的几条分析原则
·确保J2ME无线移动商业应用程序的安全性
热点TOP10
·SCJP认证套题解析(1)
·JavaClassLoader与Package机制
·反射在Java Swing编程中的应用
·基于Java的界面布局DSL的设计与实现
·垃圾清理势在必行——Java垃圾收集算法
·Java应用技巧:对于 Cookie 的操作详解
·Java编译器对于String常量表达式的优化
·基于Java的界面布局 DSL 的设计与实现
·JAVA和.NET两个平台对于安全功能的比较
·浅谈Java中利用JCOM实现仿Excel编程

用EJB 3.0简化企业Java开发(下)

日期:2008年7月16日 作者: 查看:[大字体 中字体 小字体]


下篇:可管理的POJO持久性

在Java虚拟机(JVM)里面,所有数据都被建模,并且被封装在树结构的类和对象中。然而,在后端关系数据库中,数据被建模成关系表,它们通过共享的键字段相互关联起来。同一数据却有两个不同的视图,这给企业Java的开发人员带来了挑战:如果你要把数据保存到持久性数据存储区,或者从持久性数据存储区获取数据,就必须在对象和关系表示之间来回转换数据,这个过程就叫作对象-关系映射(ORM)。在Java EE(Java企业版,以前叫J2EE)中,可以通过两个方法来完成对象-关系映射。

● 人工方法:使用Java数据库连接性(JDBC)直接处理持久性——这个简单的解决方法适用于简单的应用程序。JDBC API的类紧密地按照关系数据库里面的表、行和列进行建模。但必须在应用程序的内部对象模型和JDBC对象模型之间进行人工转换,如果应用程序的内部模型已经类似二维关系表,采用JDBC是最佳方法。

● 自动方法:可以把ORM任务交给框架去处理。框架通常提供了可以处理任何数据对象的API。通过这个API,可以保存、获取及查找数据库。框架在后台完成对象-关系的转换。因为针对特定关系的SQL查询不适合对象接口,ORM框架通常定义了自己的查询语言,可以为当前的关系数据库自动生成正确的SQL语句。对数据模型复杂的应用程序而言,基于框架的方法可以节省许多时间,并且减少出错。

ORM 框架

EJB 实体bean是Java EE中的“官方”ORM解决方案。不过在EJB1.x和2.x中,实体bean使用起来非常困难,这有两个原因:

● EJB 1.x和2.x实体bean必须符合严格的组件模型。每个bean类必须实现本地接口和业务接口。它们必须从某些抽象类继承而来,还要实现所有方法,即便许多方法是空的。有了这样一种严格的组件模型,就不可能利用EJB 1.x和2.x实体bean来构建面向对象的数据模型。

● EJB 1.x和2.x容器需要极其冗长的XML配置文件把实体bean映射到关系数据库里面的表。那些文件非常冗长,还容易出错。

简而言之,EJB 1.x和2.x实体bean是一种设计拙劣的ORM框架,既满足不了Java数据对象模型的需求,也满足不了关系表数据模型的需求。出于对EJB 1.x和2.x实体bean的不满,开发人员寻求ORM的其他方案。在实际环境中,采用开放源代码的Hibernate(由JBoss公司开发)和Oracle公司的TopLink是两个最成功的Java ORM框架。Hibernate和TopLink都基于POJO:它们不依赖任何预定义的组件模型。相反,它们获得POJO数据对象(采用简单的JavaBean格式)后,会自动解释如何把这些数据对象以及它们之间的关系映射到关系数据库。通常,一个JavaBean类映射到一张数据库表,类之间的关系通过表里面的外来键字段进行映射。可以在简单、直观的XML配置文件里面指定ORM元数据,譬如与JavaBean类相对应的表名以及与属性相对应的列名。可以通过框架中的工具类(如Hibernate中的Session类)来操作这些POJO(譬如保存、获取及查找)。

EJB 3.0建立在 Hibernate和TopLink的思想和成功这一基础上。它为Java EE提供了标准的POJO ORM框架。另外,较之现有的POJO持久性解决方案,EJB 3.0有两项重要创新:

● EJB 3.0让开发人员可以直接在POJO代码中注释映射信息,而不是使用XML文件来指定ORM元数据。譬如说,你可以用注释来指定与每个JavaBean属性相对应的关系列名。读者会在本文后面看到更多的示例。注释使得映射更直观,也更容易维护。

● EJB 3.0为实体bean定义了新的存档格式。每个存档定义了持久性上下文,后端数据库和ORM行为各使用独立的一组配置。本文会在后面讨论持久性上下文。

现在,我们不妨通过几个简单的示例来看一下EJB 3.0是如何实现POJO ORM的。

映射简单对象

在EJB 3.0中,每个实体bean都是JavaBean样式的简单类。为了告诉EJB 3.0容器这个类应当进行映象以实现持久性,应当用@Entity来注释这个类。

每个实体bean类映射到关系数据库表。默认情况下,表名与类名相对应。可以使用@Table注释,为该类指定另一个表名。bean类的每个JavaBean属性映射到表中的列。默认情况下,列名就是属性名。可以通过为属性的设置方法添加@Column注释,来改变这种默认关系。下面是EJB 3.0实体bean类的简单示例:

@Entity

// @Table (name="AlternativeTableName")

public class Person implements Serializable {

 protected int id;

 protected String name;

protected Date dateOfBirth;

public void setId (int id) {

this.id = id; }

@Id(generate = GeneratorType.AUTO)

public int getId () {

return id; }

public void setName (String name) {

this.name = name; }

// @Column (name="AlternativeColumnName")

public String getName () {

return name; }


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




上一篇:用JBuilder实现类似Visual Studio的宏扩展功能

下一篇:用EJB 3.0简化企业Java开发(上)

相关文章:
·java做的比较完善的FTP连接上传下载文件
·利用Delphi 5.0开发OLE自动化控制器操纵Excel
·SQL Server企业管理器和查询分析器简介
·Authorware实战开发专题(4-1)
·JS经典源码:通用javascript脚本函数库
·Authorware实战开发专题(4-2)
·常用EMAIL格式检验(Javascript)
·J2ME程序开发初学者快速入门的九大要点
·一个很好的日历控件(采用javascript编写)
·Authorware实战开发专题(3-2)
相关软件:
·自己动手建立企业网站
·中国少年儿童智力开发百科全书(上中下)高清PDF全彩图书
·孙鑫VC++从入门到精通开发详解视频教程FLASH版
·企业标准化管理制度大全
·公司企业网站管理系统模板功能强大版
·Windows 2003 Server 简体中文企业版(免激活)ISO
·现代企业领导艺术与方法
·腾讯企业QQ 服务器端 V 3.0.3
·新《企业会计准则》
·企业法律顾问考试百宝箱V 2.0

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot