Enterprise JavaBeans 数据介体服务

Enterprise JavaBeans (EJB) 数据介体服务 (DMS) 是服务数据对象 (SDO) Java™ 接口,如果给定 EJB 查询格式的请求,那么该接口将数据作为包含各种类型的 DataObject 的 Datagraph 返回。

这与典型的 EJB finder 或 ejbSelect 方法不同,这两种方法同样获取 EJB 查询,但返回类型相同的 EJB 对象的集合或容器管理的持久性 (CMP) 值的集合。

EJB DMS 使您可以指定 EJB 查询,它返回数据对象 (DataObject) 的数据图 (Datagraph)。可以将此查询表示为在 EJB 查询语句的字符串数组中包含的复合 EJB 查询。 使用 DataGraph 的一个优点是在创建、填充和更新复制助手对象的 EJB 外观会话 Bean 中编写的许多代码可以替换为 DataGraph 和 DMS。
要点: EJB DMS 仅支持 EJB2.x 容器管理的持久性 (CMP) 实体 Bean。它不支持 EJB 3.x 模块。

您可以使用 getGraph 调用,从在容器中高速缓存的 EJB 实例,或者从可以用 SQL 编译并直接针对数据源执行的查询请求中获取 DataGraph。

可以通过两种方式中的一种使用 applyChanges 方法将更新的 DataObject 写回到数据存储。可以将此更新转换为 SQL,并直接将它应用于数据存储,或者可以通过 EJB accessor 方法将它写回。由于直接写回数据存储避免了 EJB 激活,所以可以提高性能。然而,如果应用程序需要业务逻辑或 EJB 容器功能,那么通过 EJB 写回将是首选方法。通过 EJB 写回时,您可以指定用户定义的 MediatorAdapter 方法以确保定制处理更改的 DataObject。此定制可以包含特定于应用程序的乐观并发控制、在 EJB 上调用业务方法以执行更新、更新 DataObject 中已计算的值并在 EJBHome 上调用特定于应用程序的创建方法。

更新处理不依赖于最初检索 Datagraph 的方式。换言之,可以从数据源直接检索 DataGraph,但通过企业 Bean 或其他方式应用延迟更新。

不论您使用哪一种更新方法,都会用到乐观并发控制算法。在更新期间读取指定为一致性字段的字段,以确保当前值等于 DataObject 字段中的以前值。

运行时处理

EJB 介体请求是复合 EJB 查询,包含规则 EJB 查询的有序列表。在复合查询中的每一个查询定义一个 SDO。查询的 SELECT 子句在 DataObject 中指定了要返回的 CMP 字段或表达式。WHERE 子句指定了过滤条件。此列表中的第一个查询被认为是 Datagraph 中的根节点。第一个查询以外的查询的 FROM 子句指定了用于在 DataObject 之间创建引用的 EJB 关系。可以在“DataGraph 模式”主题中找到关于从查询派生 Datagraph 模式的方法的更多详细信息。


指示主题类型的图标 概念主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cejb_ejbmed
文件名:cejb_ejbmed.html