Package com.blazebit.persistence.impl
Class BaseUpdateCriteriaBuilderImpl<T,X extends BaseUpdateCriteriaBuilder<T,X>,Y>
java.lang.Object
com.blazebit.persistence.impl.AbstractCommonQueryBuilder<T,X,AbstractCommonQueryBuilder<?,?,?,?,?>,AbstractCommonQueryBuilder<?,?,?,?,?>,BaseFinalSetOperationBuilderImpl<T,?,?>>
com.blazebit.persistence.impl.AbstractModificationCriteriaBuilder<T,X,Y>
com.blazebit.persistence.impl.BaseUpdateCriteriaBuilderImpl<T,X,Y>
- Type Parameters:
T
- The query result type
- All Implemented Interfaces:
BaseModificationCriteriaBuilder<X>
,BaseUpdateCriteriaBuilder<T,
,X> BaseWhereBuilder<X>
,FromBaseBuilder<X>
,FromBuilder<X>
,FromProvider
,ExpressionBuilderEndedListener
,CTEInfoBuilder
,SubqueryBuilderListener<X>
,SimpleReturningBuilder
,ConfigurationSource
,ServiceProvider
,WhereBuilder<X>
- Direct Known Subclasses:
AbstractUpdateCollectionCriteriaBuilder
,ReturningUpdateCriteriaBuilderImpl
,UpdateCriteriaBuilderImpl
public abstract class BaseUpdateCriteriaBuilderImpl<T,X extends BaseUpdateCriteriaBuilder<T,X>,Y>
extends AbstractModificationCriteriaBuilder<T,X,Y>
implements BaseUpdateCriteriaBuilder<T,X>, SubqueryBuilderListener<X>, ExpressionBuilderEndedListener
- Since:
- 1.1.0
- Author:
- Christian Beikov
-
Field Summary
Fields inherited from class com.blazebit.persistence.impl.AbstractModificationCriteriaBuilder
attributeEntries, columnBindingMap, cteKey, cteType, entityAlias, entityType, isReturningEntityAliasAllowed, listener, result, returningAttributeBindingMap, returningAttributes
Fields inherited from class com.blazebit.persistence.impl.AbstractCommonQueryBuilder
aliasManager, cachedExternalQueryString, cachedGroupByIdentifierExpressions, cachedQueryString, cbf, em, embeddableSplittingVisitor, explicitVersionEntities, expressionFactory, finalSetOperationBuilder, firstResult, fromClassExplicitlySet, functionalDependencyAnalyzerVisitor, groupByManager, hasCollections, hasGroupBy, havingManager, ID_PARAM_NAME, isMainQuery, joinManager, keyRestrictedLeftJoins, keysetManager, mainQuery, maxResults, needsCheck, nodesToFetch, orderByManager, parameterManager, queryContext, queryGenerator, resultType, selectManager, setOperationEnded, statementType, subqueryInitFactory, transformerGroups, whereManager, windowManager
-
Constructor Summary
ConstructorDescriptionBaseUpdateCriteriaBuilderImpl
(BaseUpdateCriteriaBuilderImpl<T, X, Y> builder, MainQuery mainQuery, QueryContext queryContext, Map<JoinManager, JoinManager> joinManagerMapping, ExpressionCopyContext copyContext) BaseUpdateCriteriaBuilderImpl
(MainQuery mainQuery, QueryContext queryContext, boolean isMainQuery, Class<T> clazz, String alias, com.blazebit.persistence.impl.CTEManager.CTEKey cteKey, Class<?> cteClass, Y result, CTEBuilderListener listener) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addAttribute
(String attributeName) protected void
appendSetClause
(StringBuilder sbSelectFrom, boolean externalRepresentation) protected final void
appendSetElement
(StringBuilder sbSelectFrom, String attribute, Expression valueExpression) protected void
appendSetElementAsSelectItem
(StringBuilder sbSelectFrom, String attribute) protected boolean
appendSetElementEntityPrefix
(String trimmedPath) protected void
appendSetElementsAsCaseExpressions
(StringBuilder sbSelectFrom) protected void
buildBaseQueryString
(StringBuilder sbSelectFrom, boolean externalRepresentation, JoinNode lateralJoinNode, boolean countWrapped) protected void
protected <R> javax.persistence.TypedQuery<ReturningResult<R>>
getExecuteWithReturningQuery
(javax.persistence.TypedQuery<Object[]> exampleQuery, javax.persistence.Query baseQuery, String[] returningColumns, ReturningObjectBuilder<R> objectBuilder) protected Collection<javax.persistence.Query>
protected javax.persistence.Query
getQuery
(Map<DbmsModificationState, String> includedModificationStates) protected javax.persistence.Query
void
onBuilderEnded
(ExpressionBuilder builder) void
onBuilderEnded
(SubqueryInternalBuilder<X> builder) void
onBuilderStarted
(SubqueryInternalBuilder<X> builder) void
onInitiatorStarted
(SubqueryInitiator<?> initiator) void
onReplaceBuilder
(SubqueryInternalBuilder<X> oldBuilder, SubqueryInternalBuilder<X> newBuilder) protected void
set
(String attribute, FullQueryBuilder<?, ?> criteriaBuilder) setExpression
(String attributeName, String expression) setSubqueries
(String attribute, String expression) Methods inherited from class com.blazebit.persistence.impl.AbstractModificationCriteriaBuilder
applyJpaReturning, createCTEInfo, end, executeUpdate, executeWithReturning, executeWithReturning, executeWithReturning, getCountExampleQuery, getIdColumns, getModificationStateRelatedTableNameRemappings, getModificationStates, getQuery, getReturningColumns, getWithReturningQuery, getWithReturningQuery, getWithReturningQuery, prepareAndGetAttributes, prepareAndGetColumnNames, returning, returning, with, with, withRecursive, withReturning
Methods inherited from class com.blazebit.persistence.impl.AbstractCommonQueryBuilder
afterKeyset, afterKeyset, afterKeyset, analyzeConstantifiedJoinNodes, appendGroupByClause, appendOrderByClause, appendSelectClause, appendWhereClause, appendWhereClause, appendWindowClause, applyExpressionTransformersAndBuildGroupByClauses, applyImplicitJoins, applyJpaLimit, applyObjectBuilder, applyVisitor, asExpression, asExpression, beforeKeyset, beforeKeyset, beforeKeyset, buildBaseQueryString, buildBaseQueryString0, buildExternalQueryString, buildExternalQueryString, buildImplicitGroupByClauses, buildLateralBaseQueryString, buildLateralExampleQueryString, checkJoinPreconditions, collectEntityFunctionNodes, collectEntityFunctionNodes, collectEntityFunctionNodes, collectEntityFunctionNodes, containsParameter, createFinalSetOperationBuilder, createSetOperand, createSubquerySetOperand, distinct, except, exceptAll, from, from, from, from, from, from, fromCte, fromCte, fromEntitySubquery, fromEntitySubquery, fromEntitySubquery, fromIdentifiableValues, fromIdentifiableValues, fromIdentifiableValues, fromIdentifiableValues, fromNew, fromNew, fromOld, fromOld, fromSubquery, fromSubquery, fromValues, fromValues, fromValues, fromValues, getBaseQueryString, getBaseQueryStringWithCheck, getCriteriaBuilderFactory, getCteNodes, getEntityFunctionNodes, getEntityFunctionNodes, getEntityManager, getExternalQueryString, getFirstResult, getFrom, getFromByPath, getGroupByIdentifierExpressions, getKeyRestrictedLeftJoinAliases, getKeyRestrictedLeftJoins, getLateralQuery, getMaxResults, getMetamodel, getParameter, getParameters, getParameterValue, getPath, getProperties, getProperty, getQueryString, getResultType, getRoot, getRoots, getService, getStatementType, getTypedQuery, getTypedQueryForFinalOperationBuilder, groupBy, groupBy, groupByCube, groupByCube, groupByGroupingSets, groupByRollup, groupByRollup, hasCte, hasCte, hasLimit, having, havingCase, havingExists, havingExists, havingExpression, havingExpressionSubqueries, havingNotExists, havingNotExists, havingOr, havingSimpleCase, havingSubqueries, havingSubquery, havingSubquery, havingSubquery, havingSubquery, implicitJoinWhereClause, innerJoin, innerJoinDefault, innerJoinDefaultOn, innerJoinLateralEntitySubquery, innerJoinLateralEntitySubquery, innerJoinLateralEntitySubquery, innerJoinLateralEntitySubquery, innerJoinLateralEntitySubquery, innerJoinLateralOnEntitySubquery, innerJoinLateralOnEntitySubquery, innerJoinLateralOnEntitySubquery, innerJoinLateralOnEntitySubquery, innerJoinLateralOnEntitySubquery, innerJoinLateralOnSubquery, innerJoinLateralOnSubquery, innerJoinLateralOnSubquery, innerJoinLateralOnSubquery, innerJoinLateralOnSubquery, innerJoinLateralSubquery, innerJoinLateralSubquery, innerJoinLateralSubquery, innerJoinLateralSubquery, innerJoinLateralSubquery, innerJoinOn, innerJoinOn, innerJoinOn, innerJoinOn, innerJoinOn, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnSubquery, innerJoinOnSubquery, innerJoinOnSubquery, innerJoinOnSubquery, intersect, intersectAll, isCacheable, isEmpty, isEmpty, isJoinRequiredForSelect, isParameterSet, join, joinDefault, joinDefaultOn, joinLateralEntitySubquery, joinLateralEntitySubquery, joinLateralEntitySubquery, joinLateralEntitySubquery, joinLateralEntitySubquery, joinLateralOnEntitySubquery, joinLateralOnEntitySubquery, joinLateralOnEntitySubquery, joinLateralOnEntitySubquery, joinLateralOnEntitySubquery, joinLateralOnSubquery, joinLateralOnSubquery, joinLateralOnSubquery, joinLateralOnSubquery, joinLateralOnSubquery, joinLateralSubquery, joinLateralSubquery, joinLateralSubquery, joinLateralSubquery, joinLateralSubquery, joinOn, joinOn, joinOn, joinOn, joinOn, joinOn, joinOnEntitySubquery, joinOnEntitySubquery, joinOnEntitySubquery, joinOnEntitySubquery, joinOnEntitySubquery, joinOnEntitySubquery, joinOnEntitySubquery, joinOnEntitySubquery, joinOnSubquery, joinOnSubquery, joinOnSubquery, joinOnSubquery, leftJoin, leftJoinDefault, leftJoinDefaultOn, leftJoinLateralEntitySubquery, leftJoinLateralEntitySubquery, leftJoinLateralEntitySubquery, leftJoinLateralEntitySubquery, leftJoinLateralEntitySubquery, leftJoinLateralOnEntitySubquery, leftJoinLateralOnEntitySubquery, leftJoinLateralOnEntitySubquery, leftJoinLateralOnEntitySubquery, leftJoinLateralOnEntitySubquery, leftJoinLateralOnSubquery, leftJoinLateralOnSubquery, leftJoinLateralOnSubquery, leftJoinLateralOnSubquery, leftJoinLateralOnSubquery, leftJoinLateralSubquery, leftJoinLateralSubquery, leftJoinLateralSubquery, leftJoinLateralSubquery, leftJoinLateralSubquery, leftJoinOn, leftJoinOn, leftJoinOn, leftJoinOn, leftJoinOn, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnSubquery, leftJoinOnSubquery, leftJoinOnSubquery, leftJoinOnSubquery, needsSqlReplacement, orderBy, orderBy, orderByAsc, orderByAsc, orderByDesc, orderByDesc, prepareAndCheck, prepareAndCheckCtes, prepareForModification, registerCriteriaParameter, registerMacro, renderCteNodes, rightJoin, rightJoinDefault, rightJoinDefaultOn, rightJoinOn, rightJoinOn, rightJoinOn, rightJoinOn, rightJoinOn, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnSubquery, rightJoinOnSubquery, rightJoinOnSubquery, rightJoinOnSubquery, select, select, selectCase, selectCase, selectSimpleCase, selectSimpleCase, selectSubqueries, selectSubqueries, selectSubquery, selectSubquery, selectSubquery, selectSubquery, selectSubquery, selectSubquery, selectSubquery, selectSubquery, setCacheable, setFirstResult, setHavingExpression, setHavingExpressionSubqueries, setMaxResults, setParameter, setParameter, setParameter, setParameterType, setProperties, setProperty, setWhereExpression, setWhereExpressionSubqueries, startExcept, startExceptAll, startIntersect, startIntersectAll, startSet, startUnion, startUnionAll, union, unionAll, verifyBuilderEnded, verifySetBuilderEnded, where, whereCase, whereExists, whereExists, whereExpression, whereExpressionSubqueries, whereNotExists, whereNotExists, whereOr, whereSimpleCase, whereSubqueries, whereSubquery, whereSubquery, whereSubquery, whereSubquery, window, with, with, with, with, with, with, with, with, with, with, withCtesFrom, withRecursive, withReturning, withStartSet, withStartSet, withStartSet, withStartSet, withStartSet, withStartSet
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.blazebit.persistence.BaseWhereBuilder
where, whereCase, whereExists, whereExists, whereExpression, whereExpressionSubqueries, whereNotExists, whereNotExists, whereSimpleCase, whereSubqueries, whereSubquery, whereSubquery, whereSubquery, whereSubquery
Methods inherited from interface com.blazebit.persistence.FromBaseBuilder
fromEntitySubquery, fromEntitySubquery, fromEntitySubquery, fromSubquery, fromSubquery
Methods inherited from interface com.blazebit.persistence.FromBuilder
from, from, from, from, fromIdentifiableValues, fromIdentifiableValues, fromIdentifiableValues, fromIdentifiableValues, fromNew, fromNew, fromOld, fromOld, fromValues, fromValues, fromValues, fromValues, getFrom, getFromByPath, getPath, getRoots, innerJoin, innerJoinDefault, innerJoinDefaultOn, innerJoinLateralEntitySubquery, innerJoinLateralEntitySubquery, innerJoinLateralEntitySubquery, innerJoinLateralEntitySubquery, innerJoinLateralEntitySubquery, innerJoinLateralOnEntitySubquery, innerJoinLateralOnEntitySubquery, innerJoinLateralOnEntitySubquery, innerJoinLateralOnEntitySubquery, innerJoinLateralOnEntitySubquery, innerJoinLateralOnSubquery, innerJoinLateralOnSubquery, innerJoinLateralOnSubquery, innerJoinLateralOnSubquery, innerJoinLateralOnSubquery, innerJoinLateralSubquery, innerJoinLateralSubquery, innerJoinLateralSubquery, innerJoinLateralSubquery, innerJoinLateralSubquery, innerJoinOn, innerJoinOn, innerJoinOn, innerJoinOn, innerJoinOn, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnSubquery, innerJoinOnSubquery, innerJoinOnSubquery, innerJoinOnSubquery, join, joinDefault, joinDefaultOn, joinLateralEntitySubquery, joinLateralEntitySubquery, joinLateralEntitySubquery, joinLateralEntitySubquery, joinLateralEntitySubquery, joinLateralOnEntitySubquery, joinLateralOnEntitySubquery, joinLateralOnEntitySubquery, joinLateralOnEntitySubquery, joinLateralOnEntitySubquery, joinLateralOnSubquery, joinLateralOnSubquery, joinLateralOnSubquery, joinLateralOnSubquery, joinLateralOnSubquery, joinLateralSubquery, joinLateralSubquery, joinLateralSubquery, joinLateralSubquery, joinLateralSubquery, joinOn, joinOn, joinOn, joinOn, joinOn, joinOnEntitySubquery, joinOnEntitySubquery, joinOnEntitySubquery, joinOnEntitySubquery, joinOnEntitySubquery, joinOnEntitySubquery, joinOnEntitySubquery, joinOnEntitySubquery, joinOnSubquery, joinOnSubquery, joinOnSubquery, joinOnSubquery, leftJoin, leftJoinDefault, leftJoinDefaultOn, leftJoinLateralEntitySubquery, leftJoinLateralEntitySubquery, leftJoinLateralEntitySubquery, leftJoinLateralEntitySubquery, leftJoinLateralEntitySubquery, leftJoinLateralOnEntitySubquery, leftJoinLateralOnEntitySubquery, leftJoinLateralOnEntitySubquery, leftJoinLateralOnEntitySubquery, leftJoinLateralOnEntitySubquery, leftJoinLateralOnSubquery, leftJoinLateralOnSubquery, leftJoinLateralOnSubquery, leftJoinLateralOnSubquery, leftJoinLateralOnSubquery, leftJoinLateralSubquery, leftJoinLateralSubquery, leftJoinLateralSubquery, leftJoinLateralSubquery, leftJoinLateralSubquery, leftJoinOn, leftJoinOn, leftJoinOn, leftJoinOn, leftJoinOn, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnSubquery, leftJoinOnSubquery, leftJoinOnSubquery, leftJoinOnSubquery, rightJoin, rightJoinDefault, rightJoinDefaultOn, rightJoinOn, rightJoinOn, rightJoinOn, rightJoinOn, rightJoinOn, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnSubquery, rightJoinOnSubquery, rightJoinOnSubquery, rightJoinOnSubquery
Methods inherited from interface com.blazebit.persistence.WhereBuilder
setWhereExpression, setWhereExpressionSubqueries, whereOr
-
Field Details
-
setAttributeBindingMap
-
-
Constructor Details
-
BaseUpdateCriteriaBuilderImpl
public BaseUpdateCriteriaBuilderImpl(MainQuery mainQuery, QueryContext queryContext, boolean isMainQuery, Class<T> clazz, String alias, com.blazebit.persistence.impl.CTEManager.CTEKey cteKey, Class<?> cteClass, Y result, CTEBuilderListener listener) -
BaseUpdateCriteriaBuilderImpl
public BaseUpdateCriteriaBuilderImpl(BaseUpdateCriteriaBuilderImpl<T, X, Y> builder, MainQuery mainQuery, QueryContext queryContext, Map<JoinManager, JoinManager> joinManagerMapping, ExpressionCopyContext copyContext)
-
-
Method Details
-
collectParameters
protected void collectParameters()- Overrides:
collectParameters
in classAbstractCommonQueryBuilder<T,
X extends BaseUpdateCriteriaBuilder<T, X>, AbstractCommonQueryBuilder<?, ?, ?, ?, ?>, AbstractCommonQueryBuilder<?, ?, ?, ?, ?>, BaseFinalSetOperationBuilderImpl<T, ?, ?>>
-
set
- Specified by:
set
in interfaceBaseUpdateCriteriaBuilder<T,
X extends BaseUpdateCriteriaBuilder<T, X>>
-
setNull
- Specified by:
setNull
in interfaceBaseUpdateCriteriaBuilder<T,
X extends BaseUpdateCriteriaBuilder<T, X>>
-
setExpression
- Specified by:
setExpression
in interfaceBaseUpdateCriteriaBuilder<T,
X extends BaseUpdateCriteriaBuilder<T, X>>
-
set
- Specified by:
set
in interfaceBaseUpdateCriteriaBuilder<T,
X extends BaseUpdateCriteriaBuilder<T, X>>
-
setSubqueries
- Specified by:
setSubqueries
in interfaceBaseUpdateCriteriaBuilder<T,
X extends BaseUpdateCriteriaBuilder<T, X>>
-
set
- Specified by:
set
in interfaceBaseUpdateCriteriaBuilder<T,
X extends BaseUpdateCriteriaBuilder<T, X>>
-
onBuilderEnded
- Specified by:
onBuilderEnded
in interfaceExpressionBuilderEndedListener
-
onBuilderEnded
- Specified by:
onBuilderEnded
in interfaceSubqueryBuilderListener<T>
-
onBuilderStarted
- Specified by:
onBuilderStarted
in interfaceSubqueryBuilderListener<T>
-
onReplaceBuilder
public void onReplaceBuilder(SubqueryInternalBuilder<X> oldBuilder, SubqueryInternalBuilder<X> newBuilder) - Specified by:
onReplaceBuilder
in interfaceSubqueryBuilderListener<T>
-
onInitiatorStarted
- Specified by:
onInitiatorStarted
in interfaceSubqueryBuilderListener<T>
-
addAttribute
-
prepareSelect
protected void prepareSelect()- Overrides:
prepareSelect
in classAbstractCommonQueryBuilder<T,
X extends BaseUpdateCriteriaBuilder<T, X>, AbstractCommonQueryBuilder<?, ?, ?, ?, ?>, AbstractCommonQueryBuilder<?, ?, ?, ?, ?>, BaseFinalSetOperationBuilderImpl<T, ?, ?>>
-
buildBaseQueryString
protected void buildBaseQueryString(StringBuilder sbSelectFrom, boolean externalRepresentation, JoinNode lateralJoinNode, boolean countWrapped) - Overrides:
buildBaseQueryString
in classAbstractCommonQueryBuilder<T,
X extends BaseUpdateCriteriaBuilder<T, X>, AbstractCommonQueryBuilder<?, ?, ?, ?, ?>, AbstractCommonQueryBuilder<?, ?, ?, ?, ?>, BaseFinalSetOperationBuilderImpl<T, ?, ?>>
-
appendSetElementsAsCaseExpressions
-
getQuery
protected javax.persistence.Query getQuery(Map<DbmsModificationState, String> includedModificationStates) - Overrides:
getQuery
in classAbstractModificationCriteriaBuilder<T,
X extends BaseUpdateCriteriaBuilder<T, X>, Y>
-
getExecuteWithReturningQuery
protected <R> javax.persistence.TypedQuery<ReturningResult<R>> getExecuteWithReturningQuery(javax.persistence.TypedQuery<Object[]> exampleQuery, javax.persistence.Query baseQuery, String[] returningColumns, ReturningObjectBuilder<R> objectBuilder) - Overrides:
getExecuteWithReturningQuery
in classAbstractModificationCriteriaBuilder<T,
X extends BaseUpdateCriteriaBuilder<T, X>, Y>
-
getSetColumns
-
getForeignKeyParticipatingQueries
-
appendSetClause
-
appendSetElement
protected final void appendSetElement(StringBuilder sbSelectFrom, String attribute, Expression valueExpression) -
appendSetElementAsSelectItem
-
appendSetElementEntityPrefix
-
getUpdateExampleQuery
protected javax.persistence.Query getUpdateExampleQuery()
-