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 接口上定义名为 定制查找器的查找器方法实现的。
- ››Google运作经理Bryan Power给出的GOOGLE求职意见
- ››Google用户体验的十大设计原则
- ››Google Analytics(分析)能为网站带来什么
- ››Google goggles图片搜索 如何优化一个wap网站
- ››Google Docs将增加iPhone和Android编辑功能
- ››Google Android操作系统内核编译图文教程
- ››google map api 与jquery结合使用--控件,监听器...
- ››google map api 与jquery结合使用(2) --标注,浮...
- ››google map api 与jquery结合使用(3) --图标样式...
- ››Google 首页代码分析及简评
- ››Got a packet bigger than ‘max_allowed_packet’...
- ››Google财经更新iPhone和Android版本
更多精彩
赞助商链接