BMP和CMP同属EJB2.x规范中定义的实体Bean(Entity Bean),一个实体Bean是由多个类和接口组成,我们可以认为一个实体Bean代表数据库中的一个表(姑且这么认为),一个实体Bean的一个具体对象代表该表中的一条记录。也就是说,实体Bean是位于数据库和用户应用之间的数据中间件.这个数据中间件由EJB容器负责管理,具体来说也即:当实体Bean部署时,EJB容器通过ejbLoad()方法将数据表中的数据填充到实体Bean并产生实体Bean对象;当实体Bean对象要释放时,EJB容器就调用实体Bean的ejbStore()方法将实体Bean对象中的数据存入数据表中;通过以上两步可以保持数据库表与实体Bean数据中间件同步。
CMP实体Bean不含有显示声明的字段,如我们在上一节BMP的Bean文件中显示声明的几个字段在CMP中是没有的。但是,它们如何和数据库表中对应的呢?事情是这样的,虽然没有显示声明,我们可以假想它们还是实际存在的(它声明在部署描述符文件中),我们通过一系列的getter/setter方法来设置它们的值。在BMP中,由我们自己来编写getter/setter方法,在CMP中,我们只需将这些getter/setter方法声明成abstract类型的,由EJB容器根据我们的布署描述符自动生成,于是,我们在我们的CMP Bean中就可以调用它了。
环境配置-工欲善其事必先利其器
1. Configuring Xdoclet for J2ee Applications in Eclipse
Xdoclet can be downloaded from
http://www.xdoclet.sourceforge.net/xdoclet/install.html
开始了
2. Create new project in Eclipse