WEB开发网
开发学院软件开发Java Go-ForIt 记事:eXtreme ragonSlayers 专题报告,... 阅读

Go-ForIt 记事:eXtreme ragonSlayers 专题报告,第 10 部分: 使用定制查找器方法检索不同的结果集

 2009-11-06 00:00:00 来源:WEB开发网   
核心提示: 创建所需的实例,将这个实例数据插入 bean在 Java 中(容器外部),Go-ForIt 记事:eXtreme ragonSlayers 专题报告,第 10 部分: 使用定制查找器方法检索不同的结果集(4),一个对象可以实例化另一个对象,并马上开始调用该对象的方法,对应于数据库中的主键,EJB

创建所需的实例,将这个实例数据插入 bean

在 Java 中(容器外部),一个对象可以实例化另一个对象,并马上开始调用该对象的方法。 但在 EJB 中,容器管理 bean 的生命周期,并执行实例化。当一个应用程序(客户机)想要访问一个 EJB 时,它必须向容器请求 bean 的实例。bean 的容器(在我们的例子中,是 WAS 高级版)将 bean 的实例汇聚到池中,并根据需要重用它们。当一个客户机希望使用一个 bean 时,容器在它的 bean 池中“查找”那个实例并为该 bean 返回 Remote 接口。有些情况下,数据库中并没有与请求的 bean 对应的数据;则容器返回空,因为没有 bean 与客户机的请求匹配。

一个 EJB 服务器可以有几个容器,每个容器支持不同的 bean 类,所以客户机必须首先定位它所需类型的 bean 的 Home 接口。在我们的实现中,这个位置保存在 Java 名称目录服务所支持的目录中。我们的客户机, ErrandControllerBean ,指定了 bean 的类( ErrandBean ),通过“Java 名称目录接口”(Java Naming Directory Interface(JNDI))进行了一次查找调用。这返回 Home 接口的一个实例。使用 Home 接口,客户机随后通过调用 Home 接口的其中一个查找器方法查找到了该应用程序所需的特定的实例或多个实例。每个 EJB 必须至少有一个 findByPrimaryKey 查找器方法。当应用程序需要单个 bean 时,客户机总是可以通过使用 findByPrimaryKey 并提供该 bean 的主键找到 bean(如果存在)。

那么什么是主键?在我们的 ErrandBean 中,主键是一个整数 ― 我们称之为 差事标识的序号。当定义 bean 时,同时也定义主键。通常是定义一个对应于数据库中一行的 EJB 组件,其中 EJB 组件中的每个持久性变量对应于行中的一个字段(列)。EJB 组件的主键由一个或多个持久性变量组成,对应于数据库中的主键。EJB 规范规定:主键必须是一个可序列化的对象所表示的独一无二的值。我们还使用由组成 EJB 主键的值构建的主键类使得把主键指定为一个单独的实体很容易。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:Go ForIt 记事

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接