创建新的 EJB 组合器

组合器类用来将单个复杂的 bean 字段映射至多个数据库列。对于本身就是带有字段和行为的对象的复杂字段,需要这种组合。

考虑以下示例:在 CustomerBean CMP 实体 bean 中,您具有称为 CustomerAddress 的属性。CustomerAddress 属性的类型是在称为 Address.class 的类中定义的复杂类型,它包含多个 Java™ 字段:streetcityzip。为了将复杂 CustomerAddress 类型映射至表中的不同列,需要新的组合器类,该类定义组合类型类(Address.class)中的哪些字段映射至数据库中的哪些列。组合器类组成 Address.class,使得您可以映射 CustomerBean 中的 CustomerAddress 属性。

使用“新建组合器”向导来将新的组合器定义添加至类型列表。在创建了新的组合器定义之后,就可以在映射编辑器中使用组合器类。

限制和注意:
  • 组合类中的 Java 字段名必须与组合器类的 getAttributes 方法中的属性名完全匹配。如果这些字段名不匹配,则“任务”视图将显示警告。
  • 如果选择使用向导生成存根组合器类,则生成的组合器类是不完整的。需要在组合器类中定义 dataFromobjectFrom 方法。向导无法猜测哪些字段映射至组合类型的哪个部分,所以在映射中使用组合器之前,必须实现这些方法。
  • 在创建组合器之后,可以通过将 userDefinedComposer.xmi 文件、组合器类和组合类型类复制至另一个 EJB 项目以在其它项目中使用该组合器。
  • 组合器向导不支持嵌套式组合器。也就是说,该向导不支持已经是组合类型的组合字段。
  • 组合器映射不支持转换器。如果两种类型之间需要转换器,则必须通过创建转换器的实例才能在组合器的 dataFromObjectFrom 方法中处理这一情况。

要创建新的组合器定义:

  1. 在 J2EE 透视图中,选择文件 > 新建 > 其它 > EJB > 转换器或组合器,然后单击下一步
  2. 选择组合器单选按钮。
  3. 输入或选择 EJB 项目。
  4. 输入标准组合器名。
  5. 输入或选择标准超类型。
  6. 输入或选择标准目标类型。
  7. 添加或选择新组合的字段类型。必须选择多个组合字段类型。
  8. 另外,可以除去选择的字段
  9. 可选:选择生成组合器存根类复选框来生成新组合器定义的新组合器类模板。生成的组合器存根类是不完整的。您需要定义 dataFromobjectFrom 方法。
  10. 单击完成。当打开映射编辑器时,定义的组合器名称将出现在“大纲”视图中。
使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.