Eclipse快速上手EJB -- 3. 设计一对一的双向关系的CMR(1)

来源:互联网 发布:淘宝详情页怎么排版 编辑:程序博客网 时间:2024/04/28 14:24
 
        这个系列文章我是根据 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 文件中生成的代码,加深理解)。
原创粉丝点击