分享
 
 
 

JBuilder9+Weblogic7实战篇Entity Bean运用(三)

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

JBuilder9+Weblogic7实战篇

ENTITY BEAN的运用(三)

作者:黄 凯

E_mail:hk_sz@163.com

六、建立Entity Bean的关系

6.1 Entity Bean的关系描述

因为数据之间存在一定的关系,所以代表持久性数据的Entity Bean也应该有相应的关系。例如《Entity Bean运用(一)》中2.1节中创建的两个数据表student和locker,这两个代表学生和课桌的数据表是有关系的,二者通过lockerid相关联。那么作为代表这两个表的Entity Bean,student和locker也应该体现这种关系。Entity Bean的关系是通过在有关系的Entity Bean中建立关系字段完成的。

EJB2.0支持单向、双向关系,并且Entity Bean之间可以存在一对一(1:1),一对多(1:N)或多对多(N:N)的关系。

6.2 Entity Bean关系开发实例

6.2.1打开《Entity Bean的运用(一)》中建立的comSample工程。参考2.2.9建立一个与locker数据表对应的Entity Bean。

6.2.2 在文档窗口的EJB Designer中单击Locker项,将Interface设置为local/remote,其他项采用默认值。

6.2.3 在文档窗口的EJB Designer中右键单击Locker项,选择Add/Relationship菜单项,将方向箭头指向要建立关系的Entity Bean Student。

6.2.4 将方向箭头指向Student后,可以看到在Locker中增加了一个字段student,该字段是代表与Locker相应的Student,称为关系字段。单击关系字段,可以设置此关系的属性。各项含义如下:

★ Relationship name: 关系的名字。

★ Multiplicity: 选择是一对一、一对多还是多对多的关系。

★ Navigability: 方向性。选择是单向还是双向的关系。如果选择unidirectional,表示选择单向关系,那么只在Locker中建立代表Student的关系字段。如果选择bidirectional,表示建立双向的关系,那么还将在Student中建立代表Locker的关系字段。

★ Cascade delete: 设置是否级联删除。级联删除指的是删除一个Entity Bean时,是否相应删除有关系的Entity Bean。此项设置为true还是false取决于具体应用的实际情况。例如在代表班级的Entity Bean与代表班级同学的Student之间建立了关系,由于班级不存在了,其成员student就也没有存在的必要了,所以此项应设置为true。对于本例而言,此处设置为false。

★ db-cascade-delete: 与Cascade delete的含义类似,只不过这里设置的是Entity Bean所代表的数据记录的级联删除。

本例中设置Multiplicity为one to one(1:1),Navigability为unidirectional。其他项采用默认值。

6.2.5 单击“Relationship properties”界面中的Edit RDBMS Relation按钮,设置student和locker数据表的关联字段,即指定这两个表之间通过哪个字段对应起来。如果这两个表有名字相同的字段,例如student表中有一个名位lockerid的字段,locker表中如果也有名为lockerid的字段,那么Jbuilder会自认为这两个表是通过lockid字段关联的。但是本例的locker表中使用的字段不是lockerid,而是id,所以此处必须手工指定数据表的关联字段。

6.2.6 在“Weblogic RDBMS Relation Editor”界面中在id字段和lockerid字段之间用鼠标拉一条直线,表示这两个表通过字段id和lockerid关联起来。

6.2.7 在工程窗口单击查看Locker表的Bean类,可以看到其中增加了针对关系字段的存取操作的代码:

public abstract void setStudent(cmpsample.Student student);

public abstract cmpsample.Student getStudent();

相应的ejb-jar.xml和weblogic-cmp-rdbms-jar.xml文件中对关系的描述信息也添加了。

6.2.8 在文档窗口的EJB Designer中右键单击Locker项,选择Add/Method菜单项增加一个方法,该方法返回与Locker关联的student信息。

修改该方法的设置如下:

★ Method name: getStuInfo

★ Return type: String

★ Interface: remote

6.2.9 在文档窗口的EJB Designer中右键单击Locker项,选择Add/View Bean Source菜单项,修改getStuInfo()方法如下:

public String getStuInfo()

{

String t = null;

try

{

Student stuRemote = getStudent();

t = "student id = " + stuRemote.getStuid() + ";student name = " +

stuRemote.getStuname();

}

catch (Exception e)

{}

return t;

}

6.2.10 重新编译、生成jar文件,然后使用Redeploy命令将新生成的Cmp.jar文件部署到Weblogic Server上。

6.2.11 建立Locker的客户端程序LockerTestClient1.java。

6.2.12 修改main()方法如下所示:

public static void main(String[] args)

{

LockerTestClient1 client = new LockerTestClient1();

client.findByPrimaryKey(new BigDecimal(2));

client.getStuInfo();

}

该方法首先查找一个stuid为2的Student,然后调用getStuInfo()方法以获得该Student对应的Locker的信息。

6.2.13 运行该程序,验证结果。

参考

电子工业出版社 《J2EE应用开发(Jbuilder+Weblogic)》

我的文章首发牛耳论坛(www.newer.com.cn/bbs)和程序员论坛(www.csdn.net),欢迎转载,不过,请保留作者以及修订者的名字,谢谢。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有