Go-ForIt 记事:eXtreme ragonSlayers 专题报告,第 10 部分: 使用定制查找器方法检索不同的结果集
2009-11-06 00:00:00 来源:WEB开发网查找器方法
现在,让我们回到查找器方法。 findByPrimaryKey 是一个查找器方法,但您可能希望使用其它方法检索 bean。因为我们的应用程序会检索特定于某个用户的差事,所以我们将定义查找器方法,该方法返回某个顾客输入的差事、PA 可能提交了投标的差事或者某种类型的全部差事。这些查找器方法中的每一个都将接受不同的参数,每一个都可以返回一个或多个差事。查找器方法返回 bean 的 Remote 接口或一个 Remote 接口的枚举。
所有的查找器方法都由容器来处理。容器怎样知道如何检索对应于 bean 中持久性字段的数据?我们来看一下下图。
图 2. 将 bean 映射到数据
所有的 EJB 服务器都允许一个方法将数据源映射回容器,并最终映射到 EJB 组件。这条信息是容器工具创建的。因为 EJB 1.0 规范没规定部署描述符的格式,所以不同的容器处理部署描述符的方式也不同。在 WAS 中,通过给出数据存储(datastore)的名称和一个数据库 URL 定义一个数据存储。这会将数据库映射到服务器内使用的数据存储名称。当创建 EJB 组件时,您将 bean 与数据存储名称匹配起来。您还定义了一个模式映射,它将 EJB 组件中的持久性变量映射到表模式中的字段。这些映射是在部署描述符而不是 EJB 组件中进行维护,允许系统管理员不必对 EJB 组件进行更改就可更改数据库或表的名称。
现在我们有 EJB 组件对数据库中表的映射,还有变量对表中字段的映射。最后我们需要在查找器方法与数据库中的结果行之间建立映射。您已看到了 findByPrimaryKey 子句如何让容器使用 EJB 组件中的主键作为数据库中行的主键来检索数据库中的行。但容器是怎样知道如何根据 EJB 组件请求检索其它结果集的?在 WAS 中,这是通过在 Home 接口上定义名为 定制查找器的查找器方法实现的。
- ››Godaddy域名解析使用DNSPOD方法
- ››GOV.CN域名解析修改
- ››Google搜索引擎的奥秘
- ››Google测试搜索结果页面右侧内容更丰富的信息栏
- ››Google Dart精粹:应用构建,快照和隔离体
- ››google的代码审查
- ››google analytics清晰追踪爬虫的爬行信息
- ››Google+中文用户在两千万Google+大军中是少数派
- ››Google AdWords最昂贵点击成本的20种关键词分类
- ››Google运作经理Bryan Power给出的GOOGLE求职意见
- ››Google用户体验的十大设计原则
- ››Google Analytics(分析)能为网站带来什么
更多精彩
赞助商链接