FROM Clause
The FROM
clause in
an EJB QL query declares the subset of elements from the abstract
schema that are the target of the query. Any elements referenced in
the conditional expressions in the WHERE
clause,
as well as the element that is specified as the return type in the
SELECT
clause, must be included in the
FROM
clause declarations.
The FROM
clause is made up of a list of variable
declarations. Each variable is declared with a type and a unique
variable name. Variable names can be any valid Java identifier. The
types of the variables are taken from the abstract schema elements
defined by the entity EJBs. These variables are declared as either
range variables or collection member variables.
Range Variables
Range
variables are query variables that take the type of one of the entity
EJBs in your abstract schema. They are called range variables because
their actual value can range over any of the actual entities present
in the persistent store at the time that the query is executed
(limited by the conditions in the WHERE
clause, if
present). For example, we used the following EJB QL query for one of
the finder methods on our Profile
EJB in Chapter 8.
SELECT OBJECT(p) FROM ProfileBean p WHERE p.entriesBytes IS NULL
In this query, the FROM
clause declares a single
range variable, p
, and it’s
declared to range over the EJB type ProfileBean
.
ProfileBean
is the abstract schema type that we
declared for our Profile
EJB. This is analogous to declaring a query variable in SQL that ...
Get Java Enterprise in a Nutshell, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.