E - the element typepublic abstract class QueryImpl<E> extends Object implements javax.persistence.Query, Query
| Modifier and Type | Field and Description |
|---|---|
private Integer |
fetchSize
The fetch size.
|
protected int |
firstResult
The first result.
|
private Map<String,Object> |
hints
The hints.
|
protected boolean |
isSingleResult
The is single result.
|
protected EntityManagerFactoryImpl.KunderaMetadata |
kunderaMetadata
The kundera metadata.
|
protected KunderaQuery |
kunderaQuery
The kundera query.
|
private static org.slf4j.Logger |
log
The log.
|
protected int |
maxResult
Default maximum result to fetch.
|
private Set<javax.persistence.Parameter<?>> |
parameters
The parameters.
|
protected PersistenceDelegator |
persistenceDelegeator
The persistence delegeator.
|
protected Integer |
ttl
The ttl.
|
| Constructor and Description |
|---|
QueryImpl(KunderaQuery kunderaQuery,
PersistenceDelegator persistenceDelegator,
EntityManagerFactoryImpl.KunderaMetadata kunderaMetadata)
Instantiates a new query impl.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
addToRelationStack(Map<Object,Object> relationStack,
Object entity,
EntityMetadata m)
Adds the to relation stack.
|
void |
applyTTL(int ttlInSeconds)
add support to enable TTL for UPDATE/INSERT/DELETE queries.
|
private void |
assignReferenceToProxy(List results)
If returned collection of object holds a reference to.
|
abstract void |
close()
Reinstate .
|
int |
executeUpdate() |
protected List |
fetch()
Returns collection of fetched entities.
|
protected abstract List |
findUsingLucene(EntityMetadata m,
Client client)
Find using lucene.
|
private List<Object> |
findUsingLucene(EntityMetadata m,
Client client,
Object[] primaryKeys)
find data using lucene.
|
protected String[] |
getColumns(String[] columns,
EntityMetadata m)
Gets the columns.
|
private Object |
getEntityFieldValue(EntityMetadata entityMetadata,
Object entity,
String field)
Gets the entity field value.
|
protected EntityMetadata |
getEntityMetadata()
Returns entity metadata, in case of native query mapped class is present
within application metadata.
|
Integer |
getFetchSize() |
int |
getFirstResult() |
javax.persistence.FlushModeType |
getFlushMode() |
Map<String,Object> |
getHints()
Returns a
Map containing query hints set by user. |
String |
getJPAQuery()
Gets the jPA query.
|
KunderaQuery |
getKunderaQuery()
Gets the kundera query.
|
javax.persistence.LockModeType |
getLockMode() |
int |
getMaxResults() |
javax.persistence.Parameter<?> |
getParameter(int paramInt) |
<T> javax.persistence.Parameter<T> |
getParameter(int paramInt,
Class<T> paramClass) |
javax.persistence.Parameter<?> |
getParameter(String paramString) |
<T> javax.persistence.Parameter<T> |
getParameter(String paramString,
Class<T> paramClass) |
private javax.persistence.Parameter |
getParameterByName(String name)
Returns specific parameter instance for given name.
|
private javax.persistence.Parameter |
getParameterByOrdinal(Integer position)
Returns parameter by ordinal.
|
Set<javax.persistence.Parameter<?>> |
getParameters() |
Object |
getParameterValue(int paramInt) |
<T> T |
getParameterValue(javax.persistence.Parameter<T> paramParameter) |
Object |
getParameterValue(String paramString) |
protected abstract EntityReader |
getReader()
Method returns entity reader.
|
List<?> |
getResultList() |
Object |
getSingleResult()
*********************** Methods from
Query interface
******************************. |
protected void |
handlePostEvent()
Handle post event callbacks.
|
boolean |
isBound(javax.persistence.Parameter<?> paramParameter) |
private boolean |
isRelational(EntityMetadata m)
Returns true, if associated entity holds relational references(e.g.
|
abstract <E> Iterator<E> |
iterate()
Iterates over result.
|
protected void |
onDeleteOrUpdate(List results)
Performs delete or update based on query.
|
protected abstract int |
onExecuteUpdate()
Method to be invoked on query.executeUpdate().
|
private void |
onNativeCondition()
Method to handle get/set Parameter supplied for native query.
|
private List<Object> |
onParameterValue(String paramString)
Returns parameter value.
|
protected Object |
onReturnResults(List results)
On return results.
|
private <T> javax.persistence.Parameter<T> |
onTypeCheck(Class<T> paramClass,
javax.persistence.Parameter<T> parameter)
Validated parameter's class with input paramClass.
|
protected int |
onUpdateDeleteEvent()
On update delete event.
|
protected void |
onValidateSingleResult(List results)
On validate single result.
|
private List<Object> |
populateEmbeddedIdUsingLucene(EntityMetadata m,
Client client,
List<Object> result,
Map<String,Object> searchFilter,
MetamodelImpl metaModel)
Populate using lucene for embeddeId.
|
protected abstract List<Object> |
populateEntities(EntityMetadata m,
Client client)
Populate entities, Method to populate data in case no relation exist!.
|
private void |
populateGroupByResponse(Map<String,Object> aggregations,
Iterable<org.eclipse.persistence.jpa.jpql.parser.Expression> resultOrderIterable,
List<Object> results,
Client client,
EntityMetadata m)
Populate group by response.
|
private List |
populateUsingElasticSearch(Client client,
EntityMetadata m)
Populate using elastic search.
|
protected List<Object> |
populateUsingLucene(EntityMetadata m,
Client client,
List<Object> result,
String[] columnsToSelect)
Populate using lucene.
|
private Object |
prepareCompositeIdObject(javax.persistence.metamodel.SingularAttribute attribute,
Object compositeId,
Map<String,String> uniquePKs,
MetamodelImpl metaModel)
Prepare composite id object.
|
protected abstract List<Object> |
recursivelyPopulateEntities(EntityMetadata m,
Client client)
Recursively populate entities.
|
void |
setFetchSize(Integer fetchsize)
To set fetch size for query.
|
javax.persistence.Query |
setFirstResult(int startPosition) |
javax.persistence.Query |
setFlushMode(javax.persistence.FlushModeType flushMode) |
javax.persistence.Query |
setHint(String hintName,
Object value)
Sets hint name and value into hints map and returns instance of
Query. |
javax.persistence.Query |
setLockMode(javax.persistence.LockModeType paramLockModeType) |
javax.persistence.Query |
setMaxResults(int maxResult) |
javax.persistence.Query |
setParameter(int position,
Calendar value,
javax.persistence.TemporalType temporalType) |
javax.persistence.Query |
setParameter(int position,
Date value,
javax.persistence.TemporalType temporalType) |
javax.persistence.Query |
setParameter(int position,
Object value) |
javax.persistence.Query |
setParameter(javax.persistence.Parameter<Calendar> paramParameter,
Calendar paramCalendar,
javax.persistence.TemporalType paramTemporalType) |
javax.persistence.Query |
setParameter(javax.persistence.Parameter<Date> paramParameter,
Date paramDate,
javax.persistence.TemporalType paramTemporalType) |
<T> javax.persistence.Query |
setParameter(javax.persistence.Parameter<T> paramParameter,
T paramT) |
javax.persistence.Query |
setParameter(String name,
Calendar value,
javax.persistence.TemporalType temporalType) |
javax.persistence.Query |
setParameter(String name,
Date value,
javax.persistence.TemporalType temporalType) |
javax.persistence.Query |
setParameter(String name,
Object value) |
protected List<Object> |
setRelationEntities(List enhanceEntities,
Client client,
EntityMetadata m)
Sets the relation entities.
|
<T> T |
unwrap(Class<T> paramClass) |
protected KunderaQuery kunderaQuery
protected PersistenceDelegator persistenceDelegeator
protected EntityManagerFactoryImpl.KunderaMetadata kunderaMetadata
private static org.slf4j.Logger log
private Set<javax.persistence.Parameter<?>> parameters
protected int maxResult
protected int firstResult
private Integer fetchSize
protected boolean isSingleResult
protected Integer ttl
public QueryImpl(KunderaQuery kunderaQuery, PersistenceDelegator persistenceDelegator, EntityManagerFactoryImpl.KunderaMetadata kunderaMetadata)
kunderaQuery - the kundera querypersistenceDelegator - the persistence delegatorkunderaMetadata - the kundera metadatapublic String getJPAQuery()
public KunderaQuery getKunderaQuery()
public int executeUpdate()
public List<?> getResultList()
protected List<Object> setRelationEntities(List enhanceEntities, Client client, EntityMetadata m)
enhanceEntities - the enhance entitiesclient - the clientm - the mprotected void addToRelationStack(Map<Object,Object> relationStack, Object entity, EntityMetadata m)
relationStack - the relation stackentity - the entitym - the mprivate List<Object> populateEmbeddedIdUsingLucene(EntityMetadata m, Client client, List<Object> result, Map<String,Object> searchFilter, MetamodelImpl metaModel)
m - the mclient - the clientresult - the resultsearchFilter - the search filtermetaModel - the meta modelprivate Object prepareCompositeIdObject(javax.persistence.metamodel.SingularAttribute attribute, Object compositeId, Map<String,String> uniquePKs, MetamodelImpl metaModel)
attribute - the attributecompositeId - the composite iduniquePKs - the unique p ksmetaModel - the meta modelprivate List<Object> findUsingLucene(EntityMetadata m, Client client, Object[] primaryKeys)
m - the mclient - the clientprimaryKeys - the primary keysprotected List<Object> populateUsingLucene(EntityMetadata m, Client client, List<Object> result, String[] columnsToSelect)
m - the mclient - the clientresult - the resultcolumnsToSelect - List of column names to be selected (rest should be ignored)private List populateUsingElasticSearch(Client client, EntityMetadata m)
client - the clientEntityMetadata - the mprivate void populateGroupByResponse(Map<String,Object> aggregations, Iterable<org.eclipse.persistence.jpa.jpql.parser.Expression> resultOrderIterable, List<Object> results, Client client, EntityMetadata m)
aggregations - the aggregationsresultOrderIterable - the result order iterableresults - the resultsclient - the clientm - the mprivate Object getEntityFieldValue(EntityMetadata entityMetadata, Object entity, String field)
entityMetadata - the entity metadataentity - the entityfield - the fieldprotected abstract List<Object> populateEntities(EntityMetadata m, Client client)
m - the mclient - the clientprotected abstract List findUsingLucene(EntityMetadata m, Client client)
m - the mclient - the clientprotected abstract List<Object> recursivelyPopulateEntities(EntityMetadata m, Client client)
m - the mclient - the clientprotected abstract EntityReader getReader()
protected abstract int onExecuteUpdate()
protected EntityMetadata getEntityMetadata()
protected int onUpdateDeleteEvent()
protected void onDeleteOrUpdate(List results)
results - list of objects to be merged/deleted.public Object getSingleResult()
Query interface
******************************.public javax.persistence.Query setFirstResult(int startPosition)
public javax.persistence.Query setFlushMode(javax.persistence.FlushModeType flushMode)
public javax.persistence.Query setHint(String hintName, Object value)
Query.hintName - the hint namevalue - the valuepublic javax.persistence.Query setMaxResults(int maxResult)
public javax.persistence.Query setParameter(int position,
Object value)
public javax.persistence.Query setParameter(String name, Date value, javax.persistence.TemporalType temporalType)
public javax.persistence.Query setParameter(String name, Calendar value, javax.persistence.TemporalType temporalType)
public javax.persistence.Query setParameter(int position,
Date value,
javax.persistence.TemporalType temporalType)
public javax.persistence.Query setParameter(int position,
Calendar value,
javax.persistence.TemporalType temporalType)
public int getMaxResults()
public int getFirstResult()
public Map<String,Object> getHints()
Map containing query hints set by user.public <T> javax.persistence.Query setParameter(javax.persistence.Parameter<T> paramParameter,
T paramT)
public javax.persistence.Query setParameter(javax.persistence.Parameter<Calendar> paramParameter, Calendar paramCalendar, javax.persistence.TemporalType paramTemporalType)
public javax.persistence.Query setParameter(javax.persistence.Parameter<Date> paramParameter, Date paramDate, javax.persistence.TemporalType paramTemporalType)
public Set<javax.persistence.Parameter<?>> getParameters()
public javax.persistence.Parameter<?> getParameter(String paramString)
public <T> javax.persistence.Parameter<T> getParameter(String paramString, Class<T> paramClass)
public javax.persistence.Parameter<?> getParameter(int paramInt)
public <T> javax.persistence.Parameter<T> getParameter(int paramInt,
Class<T> paramClass)
public boolean isBound(javax.persistence.Parameter<?> paramParameter)
public <T> T getParameterValue(javax.persistence.Parameter<T> paramParameter)
public Object getParameterValue(int paramInt)
public javax.persistence.FlushModeType getFlushMode()
public javax.persistence.Query setLockMode(javax.persistence.LockModeType paramLockModeType)
public javax.persistence.LockModeType getLockMode()
public <T> T unwrap(Class<T> paramClass)
private javax.persistence.Parameter getParameterByName(String name)
name - parameter name.private javax.persistence.Parameter getParameterByOrdinal(Integer position)
position - positionprivate void onNativeCondition()
private <T> javax.persistence.Parameter<T> onTypeCheck(Class<T> paramClass, javax.persistence.Parameter<T> parameter)
IllegalArgumentException.T - type of class.paramClass - expected class type.parameter - parameterIllegalArgumentException.private List<Object> onParameterValue(String paramString)
paramString - parameter as string.protected String[] getColumns(String[] columns, EntityMetadata m)
columns - the columnsm - the mpublic void setFetchSize(Integer fetchsize)
QuerysetFetchSize in interface Querypublic Integer getFetchSize()
getFetchSize in interface Querypublic void applyTTL(int ttlInSeconds)
Querypublic abstract void close()
Querypublic abstract <E> Iterator<E> iterate()
Queryprotected void handlePostEvent()
protected List fetch()
protected void onValidateSingleResult(List results)
results - the resultsprotected Object onReturnResults(List results)
results - the resultsprivate boolean isRelational(EntityMetadata m)
m - entity metadataprivate void assignReferenceToProxy(List results)
results - the resultsCopyright © 2015. All Rights Reserved.