EJB QL查询与消息驱动Bean详解
1. EJB QL查询基础
EJB QL(Enterprise JavaBeans Query Language)提供了一种编写可移植的类SQL查询的方式。这些查询与实体Bean的抽象模式类型和CMR字段结合,帮助容器实现Bean的数据库相关方法,如查找和选择方法。EJB QL查询由Bean提供者在ejb - jar文件的部署描述符中编写,容器使用这些查询生成数据库访问代码。
每个EJB QL查询最多包含三个子句:
- SELECT :指定查询要返回的内容。
- FROM :指定搜索的范围。
- WHERE :对查询结果进行限制,该子句可选。
例如,以下查询将匹配“Ralph Kant”或“RalphAKant”,但不匹配“Ralph A. Kant”:
SELECT OBJECT (c) FROM CustomerSchema c
WHERE c.name LIKE 'Ralph_Kant'
这是因为通配符 _
只匹配一个字符,而“Ralph A. Kant”中 h
和 K
之间有四个字符。
2. IN和NOT IN表达式
IN和NOT IN表达式可在WHERE子句中使用,根据项目是否存在于列表中来对查询结果施加条件。例如