Use EJB query

 

Overview

The EJB query language is used to specify a query over container-managed entity beans. The language is similar to SQL. An EJB query is independent of the bean's mapping to a persistent store.

An EJB query can be used in three situations:

  • To define a finder method of an EJB entity bean.

  • To define a select method of an EJB entity bean.

  • To dynamically specify a query using the executeQuery() dynamic API.

Finder and select queries are specified in the bean's deployment descriptor using the <ejb-ql> tag; they are compiled into SQL during deployment. Dynamic queries are included within the application code itself.

WebSphere's EJB query language is compliant with the EJB QL defined in Sun's EJB 2.1 specification and has additional capabilities as listed in the topic Comparison of EJB 2.x specification and WebSphere Query Language.

For your WebSphere application, one can define an EJB query in the following ways:

  • Application Server Toolkit. When defining an EJB 2.1 entity bean in an EJB deployment descriptor editor, on the Beans page click Add under Queries and, in the Add Finder Descriptor wizard, define a find or ejbSelect method. See the online Application Server Toolkit information for documentation on wizard options.

  • Rational Application Developer. When defining an entity bean, specify the <ejb-ql> tag for the finder or select method.

  • Dynamic query service. Add the executeQuery() method to your application.

Before using EJB query, familiarize yourself with query language concepts, starting with the topic, EJB Query Language.

 

ExampleExample: EJB queries

 

See also


EJB query language
Using the dynamic query service