When using the Enterprise JavaBeans (EJB) query language
on the
product, deviations can be seen in comparison to standard EJB query
language.
The limitations and restrictions you must be aware of are listed in
the following
section.
This topic outlines current known limitations
and restrictions.
- EJB query language (QL) queries involving
enterprise beans with keys made
up of relationships to other enterprise beans appear as not valid
and cause
errors at deployment time. This is a known problem.
- The IBM
EJB QL support extends the EJB 2.0 specification in various ways,
including relaxing some restrictions, adding support for more DB2
functions,
and so on. If portability across various vendor databases or EJB deployment
tools is a concern, then care should be taken to write all EJB QL
queries
strictly according to Chapter 11 in the EJB 2.0 specification.
- Pre-loading
across m:n relationships results in the generation of inaccurate
structured query language (SQL). This is a known limitation that may
be addressed
in the future.
- Pre-loading across self referencing relationships
causes inaccurate SQL
to be generated.
- Avoid relationships between parent and children
enterprise beans within
the same inheritance hierarchy that are not well-defined.
- EJB
Query Language validation for EJB 2.0 JAR files currently runs as
a part of the EJB-RDB Mapping validation. If a mapping document (Map.mapxmi
file) does not exist in the project, the EJB queries are not validated.