Show Table of Contents
21.6.3. Overriding the EJB-QL to SQL Mapping
The EJB-QL query can be overridden in the
jbosscmp-jdbc.xml file. The finder or select is still required to have an EJB-QL declaration, but the ejb-ql element can be left empty. Currently the SQL can be overridden with JBossQL, DynamicQL, DeclaredSQL or a BMP style custom ejbFind method. All EJB-QL overrides are non-standard extensions to the EJB specification, so use of these extensions will limit portability of your application. All of the EJB-QL overrides, except for BMP custom finders, are declared using a query element in the jbosscmp-jdbc.xml file. Tthe content model is shown in Figure 21.11, “The jbosscmp-jdbc query element content model”.

Figure 21.11. The jbosscmp-jdbc query element content model
- description: An optional description for the query.
- query-method: This required element specifies the query method that being configured. This must match a
query-methoddeclared for this entity in theejb-jar.xmlfile. - jboss-ql: This is a JBossQL query to use in place of the EJB-QL query. JBossQL is discussed in Section 21.6.4, “JBossQL”.
- dynamic-ql: This indicated that the method is a dynamic query method and not an EJB-QL query. Dynamic queries are discussed in Section 21.6.5, “DynamicQL”.
- declared-sql: This query uses declared SQL in place of the EJB-QL query. Declared SQL is discussed in Section 21.6.6, “DeclaredSQL”.
- read-ahead: This optional element allows one to optimize the loading of additional fields for use with the entities referenced by the query. This is discussed in detail in Section 21.7, “Optimized Loading”.

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.