这个系列文章我是根据 Rick Hightower 发表在 IBM 网站的文章 《EJB - CMP/CMR 介绍》 改编而成的,这是一个系列,共有4篇文章。这篇文章综合了那4篇文章,看这篇文章前一定要参考一下,这样理解起来很方便,不过我做了部分修改,原理基本还是不变的。关于 CMP 方面的知识我不说了,我这里只是介绍如何使用 Lomboz 和 JBoss-IDE 在Eclipse 中开发 CMP。
这篇文章主要讲述如何开发一对一的双向关系,这里设计了一个UserInfoBean,和上篇文章《Eclipse快速上手EJB -- 2. 设计一个实体Bean》中的UserBean建立关系,也是由它继续延伸而来。所以,必须要有上篇文章的基础才行。
关于环境配置、使用技巧还是要参考我以前的文章,这里尽量省略。
完整的源代码已经在最后附上。
一、设计实体Bean :UserInfoBean
1. 建立主体部分:
● 在 CMP_Sample 项目中,右击“src” ->新建 ->Lomboz EJB Creation Wizard :
· 包(K) :javamxj.ejb.cmp
· 名称(M): UserInfo
· EJB Type: 选择 Container Managed Entity EJB
点击下一步。
● Schema Name: UserInfoSchema
Table Name: UserInfoTable
● 增加一个
email 栏:
· Field: email
· Field Type: java.lang.String
· Database Column: 电子邮件
· SQL Type: varchar
并且使它成为主键。
● 同样,再增加一个
name 栏:
· Field: name
· Field Type: java.lang.String
· Database Column: 姓名
· SQL Type: varchar
● 同样,再增加一个
dept 栏:
· Field: dept
· Field Type: java.lang.String
· Database Column: 组别
· SQL Type: varchar
● 同样,再增加一个
workPhone 栏:
· Field: workPhone
· Field Type: java.lang.String
· Database Column: 工作电话
· SQL Type: varchar
● 同样,再增加一个
age 栏:
· Field: age
· Field Type: java.lang.Integer
· Database Column: 年龄
· SQL Type: Integer
● 同样,再增加一个
salary 栏:
· Field: salary
· Field Type: java.lang.Integer
· Database Column: 薪水
· SQL Type: Integer
效果如下,最后点击完成。
注意:如上篇文章一样,将生成代码中的 sql-type="varchar" 改写成 sql-type="varchar(xy)" ,xy是一个合适的VARCHAR 的位数。
2. 完成 ejbCreate 和 ejbPostCreate 方法:
3. 在类标记中加入以下标记。
4. ejb.select 方法
· 右击 UserInfoBean ->J2EE ->Add
Select Method (JBoss-IDE: 如果不清楚如何调出的,看上篇文章)
·由于ejb.select 方法需要通过
Home 接口才能间接使用,所以:
右击 UserInfoBean ->J2EE ->Add
Home Method
·如图,点击“完成”后生成的代码,需要手动添加一条返回语句。
5. 将 UserInfoBean 加入到 cmpEJB 模块中,然后 lomboz ->
Generate EJB Classes
如下图,会生成6个文件,其中 UserInfoValue.java 是 “@ejb.value-object”标记生成的值对象。
6. 添加一个抽象方法来调用值对象。
7. 重点:
建立 UserInfoBean 与 UserBean 的一对一的双向关系:
·右击 UserInfoBean ->J2EE ->Add
CMR Relationship :
· 点击"完成"后,生成如下代码(红框中的语句需要手工添加):
·切换到
UserBean.java:
右击 UserBean ->J2EE ->Add
CMR Relationship :
·点击"完成"后,生成如下代码(红框中的语句需要手工添加):
Ok,再次
Generate EJB Classes ,如果一切正常,再进行下一步。
(你可以看看在 ejb-jar.xml 和 jbosscmp-jdbc.xml 文件中生成的代码,加深理解)。
Eclipse快速上手EJB -- 3. 一对一的双向关系的CMR(2)
Eclipse快速上手EJB -- 3. 一对一的双向关系的CMR(3)
本文地址:http://com.8s8s.com/it/it11736.htm