构建跨越联合数据的实体EJB - 编程入门网
该过程部分自动化。这里,我们将描述后一种选择。
DB2的联合技术以关系 DBMS的SQL 数据定义语言(DDL)透明性为特色。这意味着可以使用 DB2的CREATE TABLE .... OPTIONS 语法用一条语句执行两个独立的任务:在期望的远程数据源处创建一个表,并创建该表对应的DB2 别名。使用 DDL 透明特性可简化您的工作,因为 DB2 会执行任何必需的SQL 转换来正确地构造远程表;您不需要学习该数据源特定的SQL 语法来创建有效的表。我们将使用这一 DDL 透明特性在远程数据源处创建一个新的表,并为该表创建新的别名,该别名最终将由 CMP 实体 bean 使用。 开发这样的CMP 实体 bean 要遵循以下步骤: 切换至 J2EE 透视图。如有必要,可以按照 WSADIE的标准过程为您的实体 bean 创建一个 EJB 项目。 按照标准过程创建 CMP 实体 EJB。 用您打算创建的别名给 bean 命名。 添加对应于别名中各列的属性,要注意为每个属性指定适当的数据类型,并且要将适当的属性指定为键字段(它应映射到别名的主键列)。再次提醒,属性名应与列名对应。 构建跨越联合数据的实体EJB(4)时间:2011-01-28 IBM C.M. Saracco调用 EJB 数据建模向导并选择自顶向下建模。 突出显示您的EJB,在其上单击鼠标右键,然后选择 Open With -> Mapping Editor。选择 top-down modeling。 单击 Next,确保数据库名与模式名设置正确。数据库名应映射到 DB2 客户机知道的联合数据库(在我们的环境中,它是 djdb )。模式名应映射到已授权的联合数据库用户(在我们的环境中,它是 user1 )。 保持 Generate DDL 框为选中,然后单击 Finish。 验证 EJB 到数据库的映射是否成功完成 突出显示您的EJB,在其上单击鼠标右键,然后选择 Open With -> Mapping Editor。 检查 Tasks 面板以确保没有出现过错误报告。 将 EJB 绑定到先前为联合数据库创建的适当数据源。 突出显示您的EJB,在其上单击鼠标右键,然后选择 EJB Quick Links -> Bind Data Source。 在面板的Datasource 区域输入有效的JNDI 名、用户名和密码。例如,在我们的测试环境中,我们输入 jdbc/Federated 作为 JNDI 名,输入 user1 作为用户名,以及输入 pass1word 作为密码。 保存您的更改( Control-S),然后关闭编辑器。 照常为 bean 生成部署代码(突出显示您的EJB,在其上单击鼠标右键,然后选择 Generate Deploy Code)。 在部署并试图测试 bean 以前,创建别名和远程数据对象。请检查 WSADIE 生成的Table.ddl 文件。在 J2EE 透视图的Navigator 面板中在您的bean 项目名称下可以找到该文件。展开 ejbModule -> META-INF -> Schema来查看该文件。该文件为您将要生成的DDL 提供了一个良好的起点。以下列方式修改生成的DDL: 除去 CREATE SCHEMA 语句。 修改 CREATE TABLE 语句,以便在列的级别定义主键约束。例如,如果语句最初显示为
那么将该语句修改成与下面相似的语句
向 CREATE TABLE 语句添加 OPTIONS 子句,从而指定远程服务器和远程模式信息。远程服务器必须引用您在配置期间在 CREATE SERVER 语句中指定的数据源名。远程模式名必须与数据源处的有效模式名对应,该名称通常为您在配置期间在 CREATE USER MAPPING 语句中指定的REMOTE_AUTHID。例如,对于我们的环境配置,可以向 CREATE TABLE 语句添加一个 OPTIONS 子句,如下所示: |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |