Interface QueryRedirector

All Superinterfaces:
Serializable
All Known Implementing Classes:
MethodBaseQueryRedirector

public interface QueryRedirector extends Serializable

Purpose: Query redirection allows for a named or parameterized query (or finder) to dynamically determine how the query is to be executed based on the arguments.

Description: An implementor of this interface can be given to a query to allow the user to have full control over the execution of the query. Redirection can be used to:

  • Dynamically configure the query options based on the arguments (i.e. ordering, query optimization... etc.).
  • Dynamically define the selection criteria based on the arguments.
  • Pass Query By Example objects or Expressions as the arguments.
  • Post process the query results.
  • Perform multiple queries or non-EclipseLink operations.

Note: If you execute the query on a UnitOfWork, the results register with that UnitOfWork, so any objects you attempt to retrieve with the invoke method must come from the Session Cache.

See Also:
Author:
James Sutherland
  • Method Details

    • invokeQuery

      Object invokeQuery(DatabaseQuery query, Record arguments, Session session)
      REQUIRED: Perform the query. This must execute the query base on the arguments and return a valid result for the query.