public class QueryTranslatorImpl extends 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_LEGACY_ORDINAL_PARAMS_NO_LONGER_SUPPORTED, ERROR_NAMED_PARAMETER_DOES_NOT_APPEAR, ERROR_ORDINAL_PARAMETER_DOES_NOT_APPEAR
Constructor and Description |
---|
QueryTranslatorImpl(String queryIdentifier,
String query,
Map enabledFilters,
SessionFactoryImplementor factory)
Creates a new AST-based query translator.
|
QueryTranslatorImpl(String queryIdentifier,
String query,
Map enabledFilters,
SessionFactoryImplementor factory,
EntityGraphQueryHint entityGraphQueryHint) |
Modifier and Type | Method and Description |
---|---|
List<String> |
collectSqlStrings() |
void |
compile(Map replacements,
boolean shallow)
Compile a "normal" query.
|
void |
compile(String collectionRole,
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.
|
List<ParameterSpecification> |
getCollectedParameterSpecifications() |
String[][] |
getColumnNames()
Returns the column names in the generated SQL.
|
Class |
getDynamicInstantiationResultType() |
Map |
getEnabledFilters()
Returns the filters enabled for this query translator.
|
EntityGraphQueryHint |
getEntityGraphQueryHint() |
int[] |
getNamedParameterLocs(String name) |
ParameterTranslations |
getParameterTranslations()
Return information about any parameters encountered during
translation.
|
String |
getQueryIdentifier()
Retrieve the query identifier for this translator.
|
Set<Serializable> |
getQuerySpaces()
Returns the set of query spaces (table names) that the query refers to.
|
String |
getQueryString()
Returns the HQL string processed by the translator.
|
String[] |
getReturnAliases()
Returns an array of HQL aliases
|
Type[] |
getReturnTypes()
Types of the return values of an iterate() style query.
|
Statement |
getSqlAST() |
String |
getSQLString()
The SQL query string to be called; implemented by all subclasses
|
boolean |
isManipulationStatement() |
boolean |
isShallowQuery() |
boolean |
isUpdateStatement() |
Iterator |
iterate(QueryParameters queryParameters,
EventSource session)
Return the query results as an iterator
|
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(String queryIdentifier, String query, 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(String queryIdentifier, String query, Map enabledFilters, SessionFactoryImplementor factory, EntityGraphQueryHint entityGraphQueryHint)
public void compile(Map replacements, boolean shallow) throws QueryException, MappingException
compile
in interface QueryTranslator
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 void compile(String collectionRole, Map replacements, boolean shallow) throws QueryException, MappingException
compile
in interface FilterTranslator
collectionRole
- 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 String getQueryIdentifier()
QueryTranslator
getQueryIdentifier
in interface QueryTranslator
public Statement getSqlAST()
public Type[] getReturnTypes()
getReturnTypes
in interface QueryTranslator
public String[] getReturnAliases()
QueryTranslator
getReturnAliases
in interface QueryTranslator
public String[][] getColumnNames()
QueryTranslator
getColumnNames
in interface QueryTranslator
public Set<Serializable> getQuerySpaces()
QueryTranslator
getQuerySpaces
in interface QueryTranslator
public List list(SharedSessionContractImplementor session, QueryParameters queryParameters) throws HibernateException
QueryTranslator
list
in interface QueryTranslator
session
- The session owning this query.queryParameters
- The query bind parameters.HibernateException
public Iterator iterate(QueryParameters queryParameters, EventSource session) throws HibernateException
iterate
in interface QueryTranslator
queryParameters
- The query bind parameters.session
- The session owning this query.HibernateException
public ScrollableResultsImplementor scroll(QueryParameters queryParameters, SharedSessionContractImplementor session) throws HibernateException
scroll
in interface QueryTranslator
queryParameters
- The query bind parameters.session
- The session owning this query.HibernateException
public int executeUpdate(QueryParameters queryParameters, SharedSessionContractImplementor session) throws HibernateException
QueryTranslator
executeUpdate
in interface QueryTranslator
queryParameters
- The query bind parameters.session
- The session owning this query.HibernateException
public String getSQLString()
getSQLString
in interface QueryTranslator
public List<String> collectSqlStrings()
collectSqlStrings
in interface QueryTranslator
public boolean isShallowQuery()
public String getQueryString()
QueryTranslator
getQueryString
in interface QueryTranslator
public Map getEnabledFilters()
QueryTranslator
getEnabledFilters
in interface QueryTranslator
public int[] getNamedParameterLocs(String name)
public boolean containsCollectionFetches()
QueryTranslator
containsCollectionFetches
in interface QueryTranslator
public boolean isManipulationStatement()
isManipulationStatement
in interface QueryTranslator
public boolean isUpdateStatement()
isUpdateStatement
in interface QueryTranslator
public void validateScrollability() throws HibernateException
QueryTranslator
validateScrollability
in interface QueryTranslator
HibernateException
public ParameterTranslations getParameterTranslations()
QueryTranslator
getParameterTranslations
in interface QueryTranslator
public List<ParameterSpecification> getCollectedParameterSpecifications()
public Class getDynamicInstantiationResultType()
getDynamicInstantiationResultType
in interface QueryTranslator
public EntityGraphQueryHint getEntityGraphQueryHint()
public void setEntityGraphQueryHint(EntityGraphQueryHint entityGraphQueryHint)
Copyright © 2020 JBoss by Red Hat. All rights reserved.