public class QueryTranslatorImpl extends java.lang.Object implements FilterTranslator
| Modifier and Type | Class and Description |
|---|---|
static class |
QueryTranslatorImpl.JavaConstantConverter |
ERROR_CANNOT_DETERMINE_TYPE, ERROR_CANNOT_FETCH_WITH_ITERATE, ERROR_CANNOT_FORMAT_LITERAL, ERROR_NAMED_PARAMETER_DOES_NOT_APPEAR| Constructor and Description |
|---|
QueryTranslatorImpl(java.lang.String queryIdentifier,
java.lang.String query,
java.util.Map enabledFilters,
SessionFactoryImplementor factory)
Creates a new AST-based query translator.
|
QueryTranslatorImpl(java.lang.String queryIdentifier,
java.lang.String query,
java.util.Map enabledFilters,
SessionFactoryImplementor factory,
EntityGraphQueryHint entityGraphQueryHint) |
| Modifier and Type | Method and Description |
|---|---|
java.util.List<java.lang.String> |
collectSqlStrings() |
void |
compile(java.util.Map replacements,
boolean shallow)
Compile a "normal" query.
|
void |
compile(java.lang.String collectionRole,
java.util.Map replacements,
boolean shallow)
Compile a filter.
|
boolean |
containsCollectionFetches()
Does the translated query contain collection fetches?
|
int |
executeUpdate(QueryParameters queryParameters,
SharedSessionContractImplementor session)
Perform a bulk update/delete operation given the underlying query definition.
|
java.util.List<ParameterSpecification> |
getCollectedParameterSpecifications() |
java.lang.String[][] |
getColumnNames()
Returns the column names in the generated SQL.
|
java.lang.Class |
getDynamicInstantiationResultType() |
java.util.Map |
getEnabledFilters()
Returns the filters enabled for this query translator.
|
EntityGraphQueryHint |
getEntityGraphQueryHint() |
int[] |
getNamedParameterLocs(java.lang.String name) |
ParameterTranslations |
getParameterTranslations()
Return information about any parameters encountered during
translation.
|
java.lang.String |
getQueryIdentifier()
Retrieve the query identifier for this translator.
|
java.util.Set<java.io.Serializable> |
getQuerySpaces()
Returns the set of query spaces (table names) that the query refers to.
|
java.lang.String |
getQueryString()
Returns the HQL string processed by the translator.
|
java.lang.String[] |
getReturnAliases()
Returns an array of HQL aliases
|
Type[] |
getReturnTypes()
Types of the return values of an iterate() style query.
|
Statement |
getSqlAST() |
java.lang.String |
getSQLString()
The SQL query string to be called; implemented by all subclasses
|
boolean |
isManipulationStatement() |
boolean |
isShallowQuery() |
boolean |
isUpdateStatement() |
java.util.Iterator |
iterate(QueryParameters queryParameters,
EventSource session)
Return the query results as an iterator
|
java.util.List |
list(SharedSessionContractImplementor session,
QueryParameters queryParameters)
Perform a list operation given the underlying query definition.
|
ScrollableResultsImplementor |
scroll(QueryParameters queryParameters,
SharedSessionContractImplementor session)
Return the query results, as an instance of ScrollableResults
|
void |
setEntityGraphQueryHint(EntityGraphQueryHint entityGraphQueryHint) |
void |
validateScrollability()
Validate the scrollability of the translated query.
|
public QueryTranslatorImpl(java.lang.String queryIdentifier,
java.lang.String query,
java.util.Map enabledFilters,
SessionFactoryImplementor factory)
queryIdentifier - The query-identifier (used in stats collection)query - The hql query to translateenabledFilters - Currently enabled filtersfactory - The session factory constructing this translator instance.public QueryTranslatorImpl(java.lang.String queryIdentifier,
java.lang.String query,
java.util.Map enabledFilters,
SessionFactoryImplementor factory,
EntityGraphQueryHint entityGraphQueryHint)
public void compile(java.util.Map replacements,
boolean shallow)
throws QueryException,
MappingException
compile in interface QueryTranslatorreplacements - Defined query substitutions.shallow - Does this represent a shallow (scalar or entity-id) select?QueryException - There was a problem parsing the query string.MappingException - There was a problem querying defined mappings.public void compile(java.lang.String collectionRole,
java.util.Map replacements,
boolean shallow)
throws QueryException,
MappingException
compile in interface FilterTranslatorcollectionRole - the role name of the collection used as the basis for the filter.replacements - Defined query substitutions.shallow - Does this represent a shallow (scalar or entity-id) select?QueryException - There was a problem parsing the query string.MappingException - There was a problem querying defined mappings.public java.lang.String getQueryIdentifier()
QueryTranslatorgetQueryIdentifier in interface QueryTranslatorpublic Statement getSqlAST()
public Type[] getReturnTypes()
getReturnTypes in interface QueryTranslatorpublic java.lang.String[] getReturnAliases()
QueryTranslatorgetReturnAliases in interface QueryTranslatorpublic java.lang.String[][] getColumnNames()
QueryTranslatorgetColumnNames in interface QueryTranslatorpublic java.util.Set<java.io.Serializable> getQuerySpaces()
QueryTranslatorgetQuerySpaces in interface QueryTranslatorpublic java.util.List list(SharedSessionContractImplementor session, QueryParameters queryParameters) throws HibernateException
QueryTranslatorlist in interface QueryTranslatorsession - The session owning this query.queryParameters - The query bind parameters.HibernateExceptionpublic java.util.Iterator iterate(QueryParameters queryParameters, EventSource session) throws HibernateException
iterate in interface QueryTranslatorqueryParameters - The query bind parameters.session - The session owning this query.HibernateExceptionpublic ScrollableResultsImplementor scroll(QueryParameters queryParameters, SharedSessionContractImplementor session) throws HibernateException
scroll in interface QueryTranslatorqueryParameters - The query bind parameters.session - The session owning this query.HibernateExceptionpublic int executeUpdate(QueryParameters queryParameters, SharedSessionContractImplementor session) throws HibernateException
QueryTranslatorexecuteUpdate in interface QueryTranslatorqueryParameters - The query bind parameters.session - The session owning this query.HibernateExceptionpublic java.lang.String getSQLString()
getSQLString in interface QueryTranslatorpublic java.util.List<java.lang.String> collectSqlStrings()
collectSqlStrings in interface QueryTranslatorpublic boolean isShallowQuery()
public java.lang.String getQueryString()
QueryTranslatorgetQueryString in interface QueryTranslatorpublic java.util.Map getEnabledFilters()
QueryTranslatorgetEnabledFilters in interface QueryTranslatorpublic int[] getNamedParameterLocs(java.lang.String name)
public boolean containsCollectionFetches()
QueryTranslatorcontainsCollectionFetches in interface QueryTranslatorpublic boolean isManipulationStatement()
isManipulationStatement in interface QueryTranslatorpublic boolean isUpdateStatement()
isUpdateStatement in interface QueryTranslatorpublic void validateScrollability()
throws HibernateException
QueryTranslatorvalidateScrollability in interface QueryTranslatorHibernateExceptionpublic ParameterTranslations getParameterTranslations()
QueryTranslatorgetParameterTranslations in interface QueryTranslatorpublic java.util.List<ParameterSpecification> getCollectedParameterSpecifications()
public java.lang.Class getDynamicInstantiationResultType()
getDynamicInstantiationResultType in interface QueryTranslatorpublic EntityGraphQueryHint getEntityGraphQueryHint()
public void setEntityGraphQueryHint(EntityGraphQueryHint entityGraphQueryHint)
Copyright © 2001-2018 Red Hat, Inc. All Rights Reserved.