cmp实体bean实战开发肖开锋一个容器管理持续的实体bean允许容器处理一些或者它的全部数据访问逻辑。用容器管理的持续,你需要把实体bean类的一些域公开出来,好让容器在代表bean执行数据库操作时可以设置这些域。在容器管理持续化的情况下,entity bean类的代码必须满足以下条件。首先,类必须定义为public。此外,这个类还必须实现以下内容:1.entitybean接口2.零个或多个ejbcreate方法及ejbpostcreate方法3.对应于持续化及关联字段的定义它的get方法及set方法4.home方法5.business方法entity bean类不能实现以下方法:1、finder方法2、finalize方法一个访问方法的命名以get或set开始,后面是首字母大写的持续化及关联字段。例如,对salary字段的访问 方法是getsalary和setsalary。本示例描述一...
1.准备文件 需要的软件:jdk1.3(for win) ,j2ee_1_2_1_sdk,jboss2.0(www.jboss.org) 需要的文档:j2ee_1_2_1_sdk_doc,devguide1_2_1 2.准备环境 安装jdk1.3(支持jboss),装完后检查一下环境变量,可以编译运行一个小程序试一下. 安装jboss2.0,完成后运行binrun.bat试一下.jndi 端口是1099,web端口是8080,可以用浏览器试一下,1099端口会返回一段乱码,8080端口返回空. 3.编译和打包 按照javatm 2 enterprise edition developer´s guide (v1.2.1)的getting started章中说的编译例子程序 converterejb,然后用deploy tool打包生成 converterapp.ear...
我作为bea的顾问,已经成功地帮助客户在各种版本的weblogic server (wls)上设计并部署了应用程序。bea从ejb 1.0已经开始支持容器管理(cmp)的实体beans,并且已有一些客户在使用它们。可不幸的是,一些客户在不理解实体bean的情况下就使用上了它们;而另一些客户一听说它会对性能有某些约束,就完全从他们的结构/设计选择上排除使用实体beans。当面对系统分析师的询问"我究竟何时应该考虑去使用cmp方式的实体beans呢?"的时候,我很难解释为什么要使用cmp形式的实体beans。实体beans的优势体现在两方面:高速缓存和对象-关系的映射。两者在先前的版本中都勉强的被实现,但ejb 2.0拯救了这种情况。wls 7.0在ejb 2.0规范上的附加功能弥补了在使用实体beans和使用无状态会话beans之间在性能方面的差距,说明:无状态会话bea...
在n年前java只是一种编程语言的理解,但现在的java非常强大,其含义也发生变化,我们可以理解为海陆空总集合的部队,其下属分支很多,如jsp、servlet、javabean、applet、ejb、jms、j2se(无线通讯用)、java2d、java3d……此处我们着重介绍java的web应用和开发,即jsp、servlet、javabean、applet、ejb等。其中applet是比较特殊的,它需要jre(java运行环境)的支持,并且对jre版本有要求,即applet是用jdk1.4开发的,那么jre也得1.4版本的。java的web开发需要视情况而定,如果只是编译jsp、servlet、javabean、applet等,只需要安装jdk(java开发工具包),如果加上ejb,就得jdk+j2ee。jdk、j2ee的安装程序到http://java.s...
就像我们在设计模式4中看到的, entity bean的实现大小被缩减到在ejbcreate(), getdata()and setdata()方法中的仅仅几行,不管cmp字段的数目.下一步是建模公司和雇员的entity beans,这个有点繁琐而且建议读者先对borland公司的<ejb程序员指南>的or mapping和高级cmp有所了解.对这个关系建模根本不需要对结构的代码变化,然而entity beans实现类需要一点点修改来反映两个实体间的关系,鉴于此deployment descriptor需要有小的修改.象以前, entity bean从结构继承,下面是公司entity bean的代码片段:public class companybean extends companystructimplements entitybean {entitycontext entit...
在设计模式3中我们看到使bean从struct继承后使得代码大幅缩水并且所有的字段都可定义为cmp字段。这里,我们可以更进一步修正setdata()和getdata()的实现方法来减少代码量。我们为这个struct增加一个方法。value object code snippet for companypublic class companystruct implementsjava.io.serializable {public integer comid;public string comname;public string comdescription;public timestamp mutationdate;public void copyfrom(companystruct struct) {comid = struct.comid;comname = struct.comnam...
在设计模式2中我们看到,在entity bean和struct之间有很多重复的代码比如同样的字段声明(对应数据库中的表列)。如果让entity bean从结构继承下来就可以避免冗余的代码。但是这种设计,仍然不能显示beans之间的联系。code snippet for company entity beanpublic class companybean extends companystructimplements entitybean {entitycontext entitycontext;//all fields in companystruct are available for cmppublic integer ejbcreate(companystruct struct)throws createexception {this.comid = struct.comid; /...
为了避免设计模式1的缺点,我们介绍一下封装entity bean值域的value objec的概念。value object,用某些语言的术语来说,就是一个结构类型,因为他们和corba的结构类型非常类似。value object code snippet for companypublic class companystruct implementsjava.io.serializable {public integer comid; //primary keypublic string comname;public string comdescription;public java.sql.timestamp mutationdate;}value object code snippet for employeepublic class employeestruct implement...
第一个设计模式非常简单。一个公司和雇员的entity bean和下面给出的entity bean的代码片断是类似的。它们是由jbuilder4的entitybean模版生成的。所有的字段都声明为public的cmp字段。code snippet for company entity beanpublic class companybean implements entitybean {entitycontext entitycontext;public integer comid; //the primary keypublic string comname; //the company namepublic string comdescription //basic descriptionpublic timestamp mutationdate //explained laterpub...
littleboys 原创编辑实体bean的高级课程1. 怎样开发主健类ejb的主健类主要用做持久存储和ejb容器中的唯一标识符.通常主健类的字段直接映射到数据库中的主健字段.如果主健只是由单个实体bean字段组成.且其数据类型是基本的java类.如string,则bean作者不必开发自定义的主健类.只需要在配置描述器中指定类的名字和主健字段即可如果把主健映射到一个用户定义的类型,或者映射到多个字段,则bean的作者必须写出自定义的主健类.主健类必须实现 java.io.serializable,而且包含主健字段.对于cmp,字段名必须匹配实体bean中的相应的主健字段名,这将使ejb容器能够把适当的cmp字段赋值到主健类中的相应字段中.2. 实现hashcode()方法hashcode() 方法的实现原理是,利用主健字段,经适的处理后,生成并返回一个整数. 这个生成的整数称为散列码,用作...
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器