bean的部署描述为ejbSelectSports方法指定了如下EJB QL查询:
|
在部署PlayerEJB之前,你需要运行deploytool以生成对应于bean的EJB QL查询的SQL SELECT语句。因为PlayerEJB使用容器管理持续化,当ejbSelectSports方法被调用时,容器会执行它的相应的SQL SELECT语句。
运行RosterApp示例
安装
1、在一个终端窗口,启动Cloudscape数据库服务。
cloudscape -start
2、在另一个终端窗口,启动J2EE服务。
j2ee -verbose
3、运行deploytool。
deploytool
部署应用程序
1、在deploytool中,打开RosterApp.ear文件。
a、在主菜单中选择FileOpen。
b、在Open Object对话框中,到j2eetutorial/examples/ears目录下。
c、选择RosterApp.ear文件。
d、单击Open Object。
2、部署应用程序。
a、在deploytool中,选择RosterApp。
b、在主菜单中选择ToolsDeploy。
c、在Introduction对话框中,选择Return Client JAR检验栏。
d、在Client JAR File Name区域, 检查文件名是否为RosterAppClient.jar以及它的路径是不是指向j2eetutorial/examples/ears目录。
e、单击Next直到Review对话框出现。
f、单击Finish。
运行客户端
1、在一个终端窗口中,到j2eetutorial/examples/ears目录下。
2、设置APPCPATH环境变量为RosterAppClient.jar。
3、输入以下命令:
|
4、在提示登录时,输入guest作为用户名,并输入guest123作为口令。
使用容器管理持续化的Entity Bean的deploytool提示
第二章介绍了创建并封装enterprise bean的基本步骤。这一章我们将重点介绍对于容器管理持续化的entity bean在deploytool中需要执行的任务。在这一章中引用的示例来自于RosterApp设置向导。
指定Bean的类型
在New Enterprise Bean向导中,指定bean的类型和持续化管理方式。
1、在Edit Contents对话框中,增添所有entity bean以及其相关的bean所需要的类。
2、在General对话框中,选择Entity按钮。
3、在General对话框中,指定entity bean的local接口。(如果这个bean还有remote接口,在这里一并指定。)
4、在Entity Settings对话框中,选择Container-Managed Persistence (2.0)按钮。你可以忽略这个对话框的其它设置,在后面的Entity标签中输入它们。
选择Persistent Fields和Abstract Schema Name
在Entity标签中,输入字段信息和抽象模式名。
1、在Fields To Be Persisted列表中,选择将被存储到数据库中的字段。持续化字段的命名由entity bean代码中定义的访问方法所决定。
2、在Primary Key Class和Primary Key Field Name中输入正确的内容。主键唯一确定了一个entity bean。
3、在Abstract Schema Name中,输入代表这个entity bean的命名。这个命名将在EJB QL查询中被引用。
在Entity标签(PlayerEJB)中有这样一个示例。
为Finder方法和Select方法定义EJB QL查询
你应该在Finder/Select Methods对话框中指定这些设置。
1、在Entity标签下单击Finder/Select Methods以打开Finder/Select Methods对话框。
2、单击Show标签下的一个按钮以要显示一组finder方法或select方法。
3、从方法列表中选中finder方法或select方法的方法名,然后在标志为EJB QL查询的区域输入查询。这样指定一个EJB QL查询。
在Finder/Select Methods对话框(PlayerEJB)中有这样一个示例。
生成SQL并指定表的创建
在deploytool中,不同的Deployment Settings对话框使得你可以输入服务器运行时所需的信息。这些设置指定了J2EE SDK的执行。
1、要打开Deployment Settings对话框,在Entity标签下单击Deployment Settings。
2、在容器管理持续化的情况下,容器可以自动创建或删除entity bean所使用的数据表。如果你已经向表中导入了测试数据,你可能不需要选中Database Table检验栏。
3、要将EJB QL查询转换成SQL SELECT语句,单击Generate Default SQL。如果这个按钮被禁用,那意味着你还没有完成数据库设置。
在Entity Deployment Settings对话框(PlayerEJB)中有一个示例。
指定数据库的JNDI命名、用户名和口令
你可以在Database Settings对话框作这些设置。
1、要打开Database Settings对话框,在Entity标签下单击Deployment Settings。在Deployment Settings对话框中,单击Database Settings。
2、在Database JNDI Name中输入相应的值。本书中的例子使用了jdbc/Cloudscape这个JNDI命名。
3、J2EE SDK附属的Cloudscape数据库不需要用户名和口令。因此,如果你的bean是连接到Cloudscape数据库的,你不需要填写User Name和Password fields。如果你使用的是其它数据库,你可能需要输入相应的值。
在Database Deployment Settings对话框(PlayerEJB)中有一个示例。
定义关联关系
Relationships标签使得你可以定义处于同一个EJB JAR文件中的entity bean之间的关联关系。