网站大量收购独家精品文档,联系QQ:2885784924

软件中间件技术UNIT13.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件中间件技术UNIT13要点

13.4 EJB QL语言 EJB QL语法 Finder方法 Select方法 FROM子句 WHERE子句 6. SELECT子句 7. EJB QL和查找方法 8. EJB QL和选择方法 1. EJB QL 语法 EJB QL定义了使用抽象模式名称和关联进行导航的查询。 EJB QL ∷= select子句 from子句 [where子句] 其中from子句为引导模式,声明了抽象模式名字的识别变量。通过这些识别变量, select子句定义了查询的返回类型, where子句定义了查询条件。 2. Finder 方法 finder方法从持久化存储的关系数据库内获取一个实体Bean个体和集合。这些方法定义在实体Bean的home接口中。因此,它们对客户端是可见的。 3. Select 方法 select方法是实体Bean中的特殊的查询方法。它们没有在home接口内声明,因此,它们对客户端是不可见的。 Select方法通常有两种形式: ejbSelectMETHOD ejbSelectMETHODInEntity 3. Select 方法 Select方法通常有两种形式: ejbSelectMETHOD ejbSelectMETHODInEntity ejbSelectMETHOD方法不跟特定的实体Bean实例发生联系。 ejbSelectMETHOD InEntity方法是跟特定于实体Bean的执行实例的。 4. FROM 子句 from子句通过声明识别变量定义了查询域。识别变量 不能在SELECT子句和WHERE子句内声明。 SELECT子句和WHERE子句只能使用这些定义在FROM子 句内的识别变量。 FROM子句可以定义多个识别变量。识 别变量的名称不应该跟抽象模式的名称或EJB的名称相同 。识别变量也不允许是保留字。识别变量声明由范围变 量声明和集合成员声明。 4. FROM 子句 4. FROM 子句 例:找出所有的软盘驱动器产品的订单: SELECT OBJECT(o) FROM Order o,IN(o.lineItems)li WHERE li.product.product_type=“fFloppy Drive” FROM子句声明了标识符“o”为一个范围变量,“li” 为一个集合成员变量。 5. WHERE 子句 WHERE子句定义了SELECT表达式的条件。在EJB QL中, WHERE子句所有识别变量必须在FROM子句内声明。也可以为finder和select方法传递输入参数。 如:SELECT OBJECT(o) FROM Order o,IN(o.lineItems)li WHERE li.quantity=?1 SELECT OBJECT(o) FROM Order o,IN(o.lineItems)li WHERE li.product.product_type= ?1 AND li.product.price=?2 6. SELECT 子句 SELECT子句指示了查询的执行结果。 SELECT子句决定查询返回值的类型。 如:SELECT OBJECT(o) FROM Order o Order是OrderEJB的抽象模式名称。 SELECT li.product FROM Order o,IN(o.lineItems)li lineItems是OrderEJB的cmr域名称。 6. SELECT 子句 finder方法所定义的SELECT子句必须始终对应此finder方法所定义的实体Bean的抽象模型类型。 select方法所定义的SELECT子句返回cmp-field值的同时,也返回其他实体Bean的抽象模型类型。如: SELECT DISTINCT li.product.name FROM Order o,IN(o.lineItems)li Order是OrderEJB的抽象模式名称。 lineItems和product是cmr域名称。Name是为实体Bean ProductEJB所定义的cmp域名称。 7. EJB QL 和查找方法 7. EJB QL 和查找方法 例如:为了返回系统中所有的 Group,使用下列 EJB-QL: ?SELECT OBJECT(g) FROM Group g 假设想创建一个查询,来查找组名等于某一个感兴趣的名称的组。您要使用下列 EJB-QL: SELECT OBJECT(g) FROM Group g WHERE g.name = ?1 7. EJB QL 和查找方法

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档