快速业务通道

使用Java Persistence API与JavaServer Faces开发Web应用 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
详细地定义这种关系,所以现在您需要向 您的实体添加关系。

选择位于左列的 Relationships 任务,并点击 Add 以启动 Add Relationship 目录(图 12)。.

图 12. 添加一个关系

使用Java Persistence API与JavaServer Faces开发Web应用 - 编程入门网

从下拉菜单中选择 Employee。设置多样性为 one-to-many,然后选择一个 bidirectional 关系。

“Employee”是这个关系的所有者(这就是说, Employee 是 many 边的,因 为它包含了 Department 的外部关键字)。因此您需要将 Employee 的外部关键 字属性,与 Department 的主关键字映射上。

在表格的 Employee Foreign Keys 列中选中 workdept 属性,并点击 OK 以 创建关系。

使用Java Persistence API与JavaServer Faces开发Web应用(9)

时间:2011-05-25 IBM Thomas F Mutdosch

怎样添加 JPA 查询

让我们看一下 JPA 查询是怎样添加的。

点击 Query Methods 任务。本页面显示出了所有的,将会在您的 JPA Manager Bean 中生成的 Query Methods。

提示:点击每个 Query Method 将会显示出 JPQL 查询,该查询当您运行该方 法时会随之运行 (图 13)。

图 13. Query Methods 任务

使用Java Persistence API与JavaServer Faces开发Web应用 - 编程入门网

您可以添加新方法,以符合您的应用软件的用例。为了查看一个范例,创建一 个返回部门号以及部门名,由部门所在地过滤结果的查询。

点击 Add 以启动 Add Query Method 目录(图 14)。

图 14. Query Method 构建器

使用Java Persistence API与JavaServer Faces开发Web应用 - 编程入门网

使用Java Persistence API与JavaServer Faces开发Web应用(10)

时间:2011-05-25 IBM Thomas F Mutdosch

将您的查询名更改为比默认值更具有描述意义的值: getDepartmentNamesAndNumbers。

在标签 Result Attributes 之下,取消对除“deptname”与“deptno”之外 所有属性的选择。该查询只从数据库中返回这两个属性。

目录底部的 Query Statement 区域,显示出了实际生成的 JPQL 查询,该区 域会不断更新以反映目录的当前状态。您也可以直接在此文本区域编辑该查询。

切换至 Filter Results 标签,并点击绿色加号按钮,以向您的查询添加一个 过滤器。该操作会启动 Add Filter Condition 目录(图 15)。

图 15. 添加一个查询过滤器

使用Java Persistence API与JavaServer Faces开发Web应用 - 编程入门网

对于本次练习,假设您对展示位于北卡罗来纳州的部门感兴趣。

选择 location 作为用做过滤器的属性。

选择 LIKE 作为过滤器操作符。

选择 Constant/Entity Attribute 按钮并输入 NC 作为值。

点击 OK 以向列表添加查询语句。

提示:

您还可以选择,如果您不想硬码状态名,您可以使用一个变量,并动态的将此 变量在查询运行时,传递给查询方法。

最后,点击 Order Results 标签,以让您得到的结果按您想要的方式进行排 序(图 16)。

图 16. 向查询添加一个 OrderBy

使用Java Persistence API与JavaServer Faces开发Web应用 - 编程入门网

使用Java Persistence API与JavaServer Faces开发Web应用(11)

时间:2011-05-25 IBM Thomas F Mutdosch

整理部门名,让您得到的结果按照字母顺序进行排序。

从 Available Attributes 列表中选择 deptname,并点击 Order 。

在 Add Query Method 条目中中点击 OK 。

这就是最终您创建的查询:

SELECT d.deptname, d.deptno FROM Department d WHERE d.location LIKE ''NC'' ORDER BY d.deptname

为了看到额外的高级选项,点击Other任务(图 17)。

图 17. 高级选项

使用Java Persistence API与JavaServer Faces开发Web应用 - 编程入门网

在本页面中,您可以设置您的 manager bean 的名字,并考虑以下高级选项:

Use Resource Injection。该设置决定了是否在 JPA Manager Bean 代码中使 用资源注入。您将在此处决定,因为您的应用软件在一个 Web 容器中,而且您正 在使用 Faces Managed Beans。

Use Named Queries。如果该选项能用,在合适的实体中将生成已命名的查询 ,而且 JPA Manager Bean 查询方法将使用它们。如果该选择没被选中,那么 JPQL 查询语句将在 JPA

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号