The JDO standard defines JDOQL as a query language. In some cases it is necessary to move to a different, more native language. A report, for example, can be created more efficiently using a complex SQL query. In the following sections the different kinds of special queries are described. You can find them all in package com.signsoft.ibo.core.services.datastore.jdbc.query .
To get a new query using a special query language, the PersistenceManager offers an extra method:
public Query newQuery(java.lang.String language, java.lang.Object query);
The query language strings are defined in the static fields of the interface com.signsoft.ibo.core.services.datastore.jdbc.query.QueryLanguage .
Parameter query describes the query in a form determined by the query language. To obtain the query for this parameter, Signsoft intelliBO provides a QueryFactory (package com.signsoft.ibo.core.services.datastore.jdbc.query ). This factory contructs new query instances of a specified type. The instances will be preregistered with the intelliBO core system.
There are different methods to get a special kind of query. For example, you can get a JDOQLQuery (see next section) calling:
JDOQLQuery jdoqlQuery = QueryFactory.newJDOQLQuery(null);Note: queries constructed using the QueryFactory are not aware of configured parameters, i.e. statement case correction. It is highly advised to pass NULL as the query parameter to construct a new query and to configure the query afterwards (see samples in the following sections).