Home interface class: com.fuck.axamn.ProductRemoteHome
local Home interface class: com.fuck.axamn.ProductHome
Remote interface calss: com.fuck.axamn.ProductRemote
Local interface calss: com.fuck.axamn.Product
而本例中我是这样命名的:
Bean class: com.fuck.axamn.ProductBean
Home interface class: com.fuck.axamn.ProductHome
local Home interface class: com.fuck.axamn.ProductLocalHome
Remote interface calss: com.fuck.axamn.Product
Local interface calss: com.fuck.axamn.ProductLocal
CMP properties中,本例是一个BEAN对应一张表,所以先第一个Single table maping
如果是一个BEAN和多表关关联选第二项,然后把左边的primary key和右边各表对应的字段
用红线连一下就行了,你只要点primary key的字段拖就会出现红线.
点击左边组件树上设计器ProductApp上面的package,一级一级点开,看到生成的5个文件
ProductHome.java
ProductLocalHome.java
Product.java
ProductLocal.java
ProductBean.java
一一按本例附件中的文件内容敲进去.完成后双击设计器,让右边回到BEAN设计界面上,会看
到ProductBean的finder方法有七个,findByPrimaryKey是系统自动生成系统的,这个不要你考虑.
但是其它的6个系统不可能知道你是按什么条件查找,所以要手工写入EJB-QL.
在各方法上点击一下就会在右边弹出对话框,别有都不动,在最下面的Query内容框中输入以
下对应的内容
findByName方法:SELECT OBJECT(p) FROM ProductBean AS p WHERE p.name=?1
findByDescription方法:SELECT OBJECT(p) FROM ProductBean AS p WHERE p.description=?1
findByBasePrice方法:SELECT OBJECT(p) FROM ProductBean AS p WHERE p.basePrice=?1
findExpensiveProducts:SELECT OBJECT(p) FROM ProductBean AS p WHERE p.basePrice1
findCheapProducts:SELECT OBJECT(p) FROM ProductBean AS p WHERE p.basePrice>?1
findAllProducts:SELECT OBJECT(p) FROM ProductBean AS p WHERE p.productID IS NOT NULL
右键点击工程mysproject make,如果输入没有错误,应该顺利编译.然后按F9运行。如果WLS没有启动JB
会自动启动它的。
没有问题后右击设计器,选择Deploy可以顺利发布到WLS上,从http://localhost:7001/console进入
后可以看到ProductApp 被发布到WLS中了。
------------------------------------------------------------------------------------------
测试:
在工程中,File->New->Enterprise->EJB test Client.名称设为ProductClient
在左边组件树中双击ProductClient .java,编辑内容为本本例提供的内容.
make ProductClient.java
run ProductClient.java
在测试文件中如何查找ProductApp这个EJB呢,其实你在左边组件树中双击设计器下面ProductBean的
名称,右边会显示出这个BEAN的属性,Home JDNI NAME和Local JDNI name分别就是远程和本地的JDNI
命称,你在测试文件就查找这个名称,如:
Object objref = ctx.lookup("ProductBeanRemote");
"ProductBeanRemote"就是Home JDNI NAME框中的值.
