public interface SpiExpression extends Expression
| Modifier and Type | Method and Description |
|---|---|
void |
addBindValues(SpiExpressionRequest request)
Add the parameter values to be set against query.
|
void |
addSql(SpiExpressionRequest request)
Add some sql to the query.
|
void |
containsMany(BeanDescriptor<?> desc,
ManyWhereJoins whereManyJoins)
Process "Many" properties populating ManyWhereJoins.
|
void |
queryAutoFetchHash(HashQueryPlanBuilder builder)
Calculate a hash value used to identify a query for AutoFetch tuning.
|
int |
queryBindHash()
Return the hash value for the values that will be bound.
|
void |
queryPlanHash(BeanQueryRequest<?> request,
HashQueryPlanBuilder builder)
Calculate a hash value for the expression.
|
void containsMany(BeanDescriptor<?> desc, ManyWhereJoins whereManyJoins)
Predicates on Many properties require an extra independent join clause.
void queryAutoFetchHash(HashQueryPlanBuilder builder)
That is, if the hash changes then the query will be considered different from an AutoFetch perspective and get different tuning.
void queryPlanHash(BeanQueryRequest<?> request, HashQueryPlanBuilder builder)
This is used where queries are the same except for the bind values, in which case the query execution plan can be reused.
int queryBindHash()
void addSql(SpiExpressionRequest request)
This will contain ? as a place holder for each associated bind values.
The 'sql' added to the query can contain object property names rather than db tables and columns. This 'sql' is later parsed converting the logical property names to their full database column names.
request - the associated request.void addBindValues(SpiExpressionRequest request)
request - the associated request.Copyright © 2014. All Rights Reserved.