EJB QL查询语言全面解析
1. 抽象模式与查询语法
实体Bean的抽象模式在部署描述符中通过抽象模式名称和CMP字段进行声明。EJB QL查询可以返回CMP字段或抽象模式类型,返回实体Bean的抽象模式意味着返回实体本身。
EJB QL是一种语法类似SQL的简单语言。其查询主要用于以下两种方法:
- 由Bean提供者在实体Bean的主接口中声明的find方法。
- 由Bean提供者在实体Bean类中声明的select方法。
容器使用EJB QL查询生成数据库访问代码,以实现与查询关联的方法。
EJB QL查询由两个必需子句(SELECT和FROM)和一个可选子句(WHERE)组成:
- SELECT子句:确定查询返回的对象或值的类型。
- FROM子句:指定SELECT和WHERE子句中表达式所应用的模式名称。
- WHERE子句:用于限制返回的结果。
以下是一个示例查询,用于查找并返回所有 totalAmount
值大于300.00的 OrderBean
实例:
SELECT OBJECT (o) FROM OrderSchema o WHERE o.totalAmount > 300.00
在这个查询中, o
是在FROM子句中声明的标识变量,用于在查询的其余部分表示该Bean。 o.totalAmount
是一个导航路径,表示 Or