public class ReportQueryFromCoherence extends CoherenceRedirector implements QueryRedirector
Purpose: This Query Redirector should be set on any class or query where the user wants Coherence to be checked for data instead of the database and CoherenceInterceptor has been set on the Descriptor. With this Redirector set TopLink will not issue any SQL for Reads of data and aggregation unless the query can not be translated into a Coherence filter. Developers should set the Coherence Cache name that corresponds to this class in a descriptor property called "coherence.cache.name". Each class should have its own Cache unless the PK's of the instances are unique amoung all classes stored in a single cache This Redirector can be set on the class descriptor through a Session or Descriptor customizer or annotations. This Redirector may be used on a per query basis as well.
setDefaultInsertQueryRedirector(QueryRedirector)
, QueryRedirectors
Constructor and Description |
---|
ReportQueryFromCoherence() |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
buildObject(ReportQuery query, java.lang.Object[] resultRow, java.util.Set<java.lang.Object> distinctSet, org.eclipse.persistence.internal.sessions.AbstractSession session) |
java.lang.String |
buildResultKeyForDistinct(java.lang.Object[] resultRow) |
java.lang.Object |
invokeQuery(DatabaseQuery query, Record arguments, Session session)
REQUIRED: Perform the query.
|
public java.lang.Object invokeQuery(DatabaseQuery query, Record arguments, Session session)
QueryRedirector
invokeQuery
in interface QueryRedirector
public java.lang.String buildResultKeyForDistinct(java.lang.Object[] resultRow)
public java.lang.Object buildObject(ReportQuery query, java.lang.Object[] resultRow, java.util.Set<java.lang.Object> distinctSet, org.eclipse.persistence.internal.sessions.AbstractSession session)