使用Java Persistence API与JavaServer Faces开发Web应用 - 编程入门网
详细地定义这种关系,所以现在您需要向 您的实体添加关系。
选择位于左列的 Relationships 任务,并点击 Add 以启动 Add Relationship 目录(图 12)。. 图 12. 添加一个关系 从下拉菜单中选择 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 任务 您可以添加新方法,以符合您的应用软件的用例。为了查看一个范例,创建一 个返回部门号以及部门名,由部门所在地过滤结果的查询。 点击 Add 以启动 Add Query Method 目录(图 14)。 图 14. Query Method 构建器 使用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. 添加一个查询过滤器 对于本次练习,假设您对展示位于北卡罗来纳州的部门感兴趣。 选择 location 作为用做过滤器的属性。 选择 LIKE 作为过滤器操作符。 选择 Constant/Entity Attribute 按钮并输入 NC 作为值。 点击 OK 以向列表添加查询语句。 提示: 您还可以选择,如果您不想硬码状态名,您可以使用一个变量,并动态的将此 变量在查询运行时,传递给查询方法。 最后,点击 Order Results 标签,以让您得到的结果按您想要的方式进行排 序(图 16)。 图 16. 向查询添加一个 OrderBy 使用Java Persistence API与JavaServer Faces开发Web应用(11)时间:2011-05-25 IBM Thomas F Mutdosch整理部门名,让您得到的结果按照字母顺序进行排序。 从 Available Attributes 列表中选择 deptname,并点击 Order 。 在 Add Query Method 条目中中点击 OK 。 这就是最终您创建的查询:
为了看到额外的高级选项,点击Other任务(图 17)。 图 17. 高级选项 在本页面中,您可以设置您的 manager bean 的名字,并考虑以下高级选项: Use Resource Injection。该设置决定了是否在 JPA Manager Bean 代码中使 用资源注入。您将在此处决定,因为您的应用软件在一个 Web 容器中,而且您正 在使用 Faces Managed Beans。 Use Named Queries。如果该选项能用,在合适的实体中将生成已命名的查询 ,而且 JPA Manager Bean 查询方法将使用它们。如果该选择没被选中,那么 JPQL 查询语句将在 JPA |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |