diff --git a/hibernate-core/src/main/java/org/hibernate/internal/FilterImpl.java b/hibernate-core/src/main/java/org/hibernate/internal/FilterImpl.java index ff69d7c99f96..e2d2f857c068 100644 --- a/hibernate-core/src/main/java/org/hibernate/internal/FilterImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/internal/FilterImpl.java @@ -7,7 +7,6 @@ import java.io.Serializable; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.Map; import java.util.TreeMap; import java.util.function.Supplier; @@ -20,6 +19,9 @@ import org.checkerframework.checker.nullness.qual.Nullable; +import static java.util.Collections.emptyMap; +import static java.util.Collections.unmodifiableMap; + /** * Implementation of FilterImpl. FilterImpl implements the user's * view into enabled dynamic filters, allowing them to set filter parameter values. @@ -88,7 +90,7 @@ public boolean isAppliedToLoadByKey() { } public Map getParameters() { - return parameters == null ? Collections.emptyMap() : Collections.unmodifiableMap( parameters ); + return parameters == null ? emptyMap() : unmodifiableMap( parameters ); } /** diff --git a/hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/DiscriminatorSqmPath.java b/hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/DiscriminatorSqmPath.java index 935fc3e3dd3d..facefadf9224 100644 --- a/hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/DiscriminatorSqmPath.java +++ b/hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/DiscriminatorSqmPath.java @@ -17,10 +17,10 @@ */ public interface DiscriminatorSqmPath extends SqmPath { @Override - default void appendHqlString(StringBuilder sb) { - sb.append( "type(" ); - getLhs().appendHqlString( sb ); - sb.append( ')' ); + default void appendHqlString(StringBuilder hql) { + hql.append( "type(" ); + getLhs().appendHqlString( hql ); + hql.append( ')' ); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/procedure/internal/FunctionReturnImpl.java b/hibernate-core/src/main/java/org/hibernate/procedure/internal/FunctionReturnImpl.java index ffaced14e2f7..96284319356b 100644 --- a/hibernate-core/src/main/java/org/hibernate/procedure/internal/FunctionReturnImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/procedure/internal/FunctionReturnImpl.java @@ -12,12 +12,13 @@ import org.hibernate.procedure.spi.ProcedureCallImplementor; import org.hibernate.query.BindableType; import org.hibernate.query.OutputableType; -import org.hibernate.sql.exec.internal.JdbcCallFunctionReturnImpl; +import org.hibernate.sql.exec.internal.JdbcCallFunctionReturnImpl.RefCurserJdbcCallFunctionReturnImpl; +import org.hibernate.sql.exec.internal.JdbcCallFunctionReturnImpl.RegularJdbcCallFunctionReturnImpl; import org.hibernate.sql.exec.internal.JdbcCallParameterExtractorImpl; import org.hibernate.sql.exec.internal.JdbcCallRefCursorExtractorImpl; import org.hibernate.sql.exec.spi.JdbcCallFunctionReturn; +import org.hibernate.type.BasicType; import org.hibernate.type.descriptor.java.JavaType; -import org.hibernate.type.descriptor.jdbc.JdbcType; import org.hibernate.type.spi.TypeConfiguration; import jakarta.persistence.ParameterMode; @@ -26,6 +27,7 @@ * @author Steve Ebersole */ public class FunctionReturnImpl implements FunctionReturnImplementor { + private final ProcedureCallImplementor procedureCall; private final int sqlTypeCode; @@ -44,37 +46,36 @@ public FunctionReturnImpl(ProcedureCallImplementor procedureCall, OutputableT @Override public JdbcCallFunctionReturn toJdbcFunctionReturn(SharedSessionContractImplementor persistenceContext) { - final OutputableType ormType; - final JdbcCallRefCursorExtractorImpl refCursorExtractor; - final JdbcCallParameterExtractorImpl parameterExtractor; - if ( getJdbcTypeCode() == Types.REF_CURSOR ) { - refCursorExtractor = new JdbcCallRefCursorExtractorImpl( 1 ); - ormType = null; - parameterExtractor = null; + return new RefCurserJdbcCallFunctionReturnImpl( new JdbcCallRefCursorExtractorImpl( 1 ) ); } else { - if ( this.ormType != null ) { - ormType = this.ormType; - } - else { - final TypeConfiguration typeConfiguration = persistenceContext.getFactory().getTypeConfiguration(); - final JdbcType sqlTypeDescriptor = typeConfiguration.getJdbcTypeRegistry().getDescriptor( - getJdbcTypeCode() - ); - final JavaType javaTypeMapping = sqlTypeDescriptor.getJdbcRecommendedJavaTypeMapping( - null, - null, - typeConfiguration - ); - //noinspection unchecked - ormType = (OutputableType) typeConfiguration.standardBasicTypeForJavaType( javaTypeMapping.getJavaTypeClass() ); - } - parameterExtractor = new JdbcCallParameterExtractorImpl<>( procedureCall.getProcedureName(), null, 1, ormType ); - refCursorExtractor = null; + return new RegularJdbcCallFunctionReturnImpl( + getOrmType( persistenceContext ), + new JdbcCallParameterExtractorImpl( + procedureCall.getProcedureName(), + null, + 1, + getOrmType( persistenceContext ) + ) + ); } + } - return new JdbcCallFunctionReturnImpl( ormType, parameterExtractor, refCursorExtractor ); + private OutputableType getOrmType(SharedSessionContractImplementor persistenceContext) { + if ( ormType != null ) { + return ormType; + } + else { + final TypeConfiguration typeConfiguration = persistenceContext.getFactory().getTypeConfiguration(); + final JavaType javaType = + typeConfiguration.getJdbcTypeRegistry().getDescriptor( getJdbcTypeCode() ) + .getJdbcRecommendedJavaTypeMapping( null, null, typeConfiguration ); + final BasicType basicType = + typeConfiguration.standardBasicTypeForJavaType( javaType.getJavaTypeClass() ); + //noinspection unchecked + return (OutputableType) basicType; + } } @Override @@ -103,7 +104,7 @@ public ParameterMode getMode() { } @Override - public Class getParameterType() { + public Class getParameterType() { throw new UnsupportedOperationException(); } @@ -113,7 +114,7 @@ public void disallowMultiValuedBinding() { } @Override - public void applyAnticipatedType(BindableType type) { + public void applyAnticipatedType(BindableType type) { throw new UnsupportedOperationException(); } @@ -124,13 +125,8 @@ public boolean allowsMultiValuedBinding() { @Override public NamedCallableQueryMemento.ParameterMemento toMemento() { - return session -> { - if ( ormType != null ) { - return new FunctionReturnImpl<>( procedureCall, ormType ); - } - else { - return new FunctionReturnImpl<>( procedureCall, sqlTypeCode ); - } - }; + return session -> ormType != null + ? new FunctionReturnImpl( procedureCall, ormType ) + : new FunctionReturnImpl( procedureCall, sqlTypeCode ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/procedure/internal/ProcedureParamBindings.java b/hibernate-core/src/main/java/org/hibernate/procedure/internal/ProcedureParamBindings.java index d70ab8c1573b..81025672fa1d 100644 --- a/hibernate-core/src/main/java/org/hibernate/procedure/internal/ProcedureParamBindings.java +++ b/hibernate-core/src/main/java/org/hibernate/procedure/internal/ProcedureParamBindings.java @@ -75,8 +75,9 @@ public

ProcedureParameterBinding

getQueryParamerBinding(ProcedureParamete @Override public

ProcedureParameterBinding

getBinding(String name) { - final ProcedureParameterImplementor

parameter = (ProcedureParameterImplementor

) parameterMetadata - .getQueryParameter( name ); + //noinspection unchecked + final ProcedureParameterImplementor

parameter = + (ProcedureParameterImplementor

) parameterMetadata.getQueryParameter( name ); if ( parameter == null ) { throw new IllegalArgumentException( "Parameter does not exist: " + name ); } @@ -85,8 +86,9 @@ public

ProcedureParameterBinding

getBinding(String name) { @Override public

ProcedureParameterBinding

getBinding(int position) { - final ProcedureParameterImplementor

parameter = (ProcedureParameterImplementor

) parameterMetadata - .getQueryParameter( position ); + //noinspection unchecked + final ProcedureParameterImplementor

parameter = + (ProcedureParameterImplementor

) parameterMetadata.getQueryParameter( position ); if ( parameter == null ) { throw new IllegalArgumentException( "Parameter at position " + position + "does not exist" ); } @@ -95,28 +97,23 @@ public

ProcedureParameterBinding

getBinding(int position) { @Override public void validate() { - parameterMetadata.visitRegistrations( - queryParameter -> { - final ProcedureParameterImplementor procParam = (ProcedureParameterImplementor) queryParameter; - if ( procParam.getMode() == ParameterMode.IN - || procParam.getMode() == ParameterMode.INOUT ) { - if ( !getBinding( procParam ).isBound() ) { - // depending on "pass nulls" this might be ok... - // for now, just log a warning - if ( procParam.getPosition() != null ) { - LOG.debugf( - "Procedure parameter at position %s is not bound", - procParam.getPosition() - ); - - } - else { - LOG.debugf( "Procedure parameter %s is not bound", procParam.getName() ); - } - } - } + parameterMetadata.visitRegistrations( parameter -> validate( (ProcedureParameterImplementor) parameter ) ); + } + + private void validate(ProcedureParameterImplementor procParam) { + final ParameterMode mode = procParam.getMode(); + if ( mode == ParameterMode.IN || mode == ParameterMode.INOUT ) { + if ( !getBinding( procParam ).isBound() ) { + // depending on "pass nulls" this might be OK - for now, just log a warning + if ( procParam.getPosition() != null ) { + LOG.debugf( "Procedure parameter at position %s is not bound", procParam.getPosition() ); + + } + else { + LOG.debugf( "Procedure parameter %s is not bound", procParam.getName() ); } - ); + } + } } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/procedure/internal/ProcedureParameterImpl.java b/hibernate-core/src/main/java/org/hibernate/procedure/internal/ProcedureParameterImpl.java index 154318429481..b0d6fae5fc9c 100644 --- a/hibernate-core/src/main/java/org/hibernate/procedure/internal/ProcedureParameterImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/procedure/internal/ProcedureParameterImpl.java @@ -92,24 +92,9 @@ public Class getParameterType() { @Override public NamedCallableQueryMemento.ParameterMemento toMemento() { - return session -> { - if ( getName() != null ) { - return new ProcedureParameterImpl<>( - getName(), - getMode(), - javaType, - getHibernateType() - ); - } - else { - return new ProcedureParameterImpl<>( - getPosition(), - getMode(), - javaType, - getHibernateType() - ); - } - }; + return session -> isNamed() + ? new ProcedureParameterImpl( getName(), getMode(), javaType, getHibernateType() ) + : new ProcedureParameterImpl( getPosition(), getMode(), javaType, getHibernateType() ); } @Override @@ -119,17 +104,7 @@ public JdbcCallParameterRegistration toJdbcParameterRegistration( final QueryParameterBinding binding = procedureCall.getParameterBindings().getBinding( this ); final boolean isNamed = procedureCall.getParameterStrategy() == ParameterStrategy.NAMED && this.name != null; - final BindableType bindableType; - if ( getHibernateType() != null ) { - bindableType = getHibernateType(); - } - else if ( binding != null ) { - //noinspection unchecked - bindableType = (BindableType) binding.getBindType(); - } - else { - bindableType = null; - } + final BindableType bindableType = getBindableType( binding ); final SharedSessionContractImplementor session = procedureCall.getSession(); @@ -143,14 +118,11 @@ else if ( binding != null ) { final JdbcParameterBinder parameterBinder; final JdbcCallRefCursorExtractorImpl refCursorExtractor; final JdbcCallParameterExtractorImpl parameterExtractor; - final ExtractedDatabaseMetaData databaseMetaData = session - .getFactory() - .getJdbcServices() - .getJdbcEnvironment() - .getExtractedDatabaseMetaData(); - final boolean passProcedureParameterNames = session.getFactory() - .getSessionFactoryOptions() - .isPassProcedureParameterNames(); + final ExtractedDatabaseMetaData databaseMetaData = + session.getFactory().getJdbcServices().getJdbcEnvironment() + .getExtractedDatabaseMetaData(); + final boolean passProcedureParameterNames = + session.getFactory().getSessionFactoryOptions().isPassProcedureParameterNames(); switch ( mode ) { case REF_CURSOR: jdbcParamName = this.name != null && databaseMetaData.supportsNamedParameters() && passProcedureParameterNames ? this.name : null; @@ -184,13 +156,29 @@ else if ( binding != null ) { return new JdbcCallParameterRegistrationImpl( jdbcParamName, startIndex, mode, typeToUse, parameterBinder, parameterExtractor, refCursorExtractor ); } + private BindableType getBindableType(QueryParameterBinding binding) { + if ( getHibernateType() != null ) { + return getHibernateType(); + } + else if ( binding != null ) { + //noinspection unchecked + return (BindableType) binding.getBindType(); + } + else { + return null; + } + } + private String getJdbcParamName( ProcedureCallImplementor procedureCall, boolean isNamed, boolean passProcedureParameterNames, OutputableType typeToUse, ExtractedDatabaseMetaData databaseMetaData) { - return isNamed && passProcedureParameterNames && canDoNameParameterBinding( typeToUse, procedureCall, databaseMetaData ) ? this.name : null; + return isNamed && passProcedureParameterNames + && canDoNameParameterBinding( typeToUse, procedureCall, databaseMetaData ) + ? this.name + : null; } private void validateBindableType(BindableType bindableType, int startIndex) { @@ -217,12 +205,12 @@ private JdbcParameterBinder getParameterBinder(BindableType typeToUse, String ) ); } - - if ( typeToUse instanceof BasicType ) { + else if ( typeToUse instanceof BasicType ) { return new JdbcParameterImpl( (BasicType) typeToUse ); } - - throw new UnsupportedOperationException(); + else { + throw new UnsupportedOperationException(); + } } private boolean canDoNameParameterBinding( @@ -230,9 +218,9 @@ private boolean canDoNameParameterBinding( ProcedureCallImplementor procedureCall, ExtractedDatabaseMetaData databaseMetaData) { return procedureCall.getFunctionReturn() == null - && databaseMetaData.supportsNamedParameters() - && hibernateType instanceof ProcedureParameterNamedBinder - && ( (ProcedureParameterNamedBinder) hibernateType ).canDoSetting(); + && databaseMetaData.supportsNamedParameters() + && hibernateType instanceof ProcedureParameterNamedBinder + && ( (ProcedureParameterNamedBinder) hibernateType ).canDoSetting(); } @Override @@ -245,22 +233,19 @@ public boolean equals(Object o) { if ( this == o ) { return true; } - if ( o == null || getClass() != o.getClass() ) { + if ( o == null ) { + return false; + } + if ( !(o instanceof ProcedureParameterImpl that) ) { return false; } - ProcedureParameterImpl that = (ProcedureParameterImpl) o; - return Objects.equals( name, that.name ) && - Objects.equals( position, that.position ) && - mode == that.mode; + return Objects.equals( name, that.name ) + && Objects.equals( position, that.position ) + && mode == that.mode; } @Override public String toString() { - if ( position == null ) { - return name; - } - else { - return position.toString(); - } + return position == null ? name : position.toString(); } } diff --git a/hibernate-core/src/main/java/org/hibernate/procedure/internal/ProcedureParameterMetadataImpl.java b/hibernate-core/src/main/java/org/hibernate/procedure/internal/ProcedureParameterMetadataImpl.java index 356cc23bda27..5a2632fffde0 100644 --- a/hibernate-core/src/main/java/org/hibernate/procedure/internal/ProcedureParameterMetadataImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/procedure/internal/ProcedureParameterMetadataImpl.java @@ -5,7 +5,6 @@ package org.hibernate.procedure.internal; import java.util.ArrayList; -import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -17,6 +16,7 @@ import org.hibernate.engine.spi.SharedSessionContractImplementor; import org.hibernate.procedure.spi.NamedCallableQueryMemento; import org.hibernate.procedure.spi.ParameterStrategy; +import org.hibernate.query.BindableType; import org.hibernate.query.QueryParameter; import org.hibernate.query.internal.QueryParameterBindingsImpl; import org.hibernate.query.procedure.ProcedureParameter; @@ -25,6 +25,9 @@ import org.hibernate.query.spi.QueryParameterBindings; import org.hibernate.query.spi.QueryParameterImplementor; +import static java.util.Collections.emptyList; +import static java.util.Collections.emptySet; + /** * Specialized ParameterMetadataImplementor for callable queries implementing * expandable parameter registrations @@ -39,29 +42,26 @@ public ProcedureParameterMetadataImpl() { } public ProcedureParameterMetadataImpl(NamedCallableQueryMemento memento, SharedSessionContractImplementor session) { - memento.getParameterMementos().forEach( - parameterMemento -> registerParameter( parameterMemento.resolve( session ) ) - ); + memento.getParameterMementos() + .forEach( parameterMemento -> registerParameter( parameterMemento.resolve( session ) ) ); } - public void registerParameter(ProcedureParameterImplementor parameter) { - if ( parameter.getName() != null ) { + public void registerParameter(ProcedureParameterImplementor parameter) { + if ( parameter.isNamed() ) { if ( parameterStrategy == ParameterStrategy.POSITIONAL ) { throw new IllegalArgumentException( "Cannot mix named parameter with positional parameter registrations" ); } parameterStrategy = ParameterStrategy.NAMED; } - else if ( parameter.getPosition() != null ) { + else if ( parameter.isOrdinal() ) { if ( parameterStrategy == ParameterStrategy.NAMED ) { throw new IllegalArgumentException( "Cannot mix positional parameter with named parameter registrations" ); } - this.parameterStrategy = ParameterStrategy.POSITIONAL; + parameterStrategy = ParameterStrategy.POSITIONAL; } else { throw new IllegalArgumentException( "Unrecognized parameter type : " + parameter ); } - - if ( parameters == null ) { parameters = new ArrayList<>(); } @@ -74,7 +74,7 @@ public QueryParameterBindings createBindings(SessionFactoryImplementor sessionFa } @Override - public void visitParameters(Consumer> consumer) { + public void visitParameters(Consumer> consumer) { if ( parameters != null ) { parameters.forEach( consumer ); } @@ -93,11 +93,11 @@ public boolean hasPositionalParameters() { @Override public Set getNamedParameterNames() { if ( !hasNamedParameters() ) { - return Collections.emptySet(); + return emptySet(); } final Set rtn = new HashSet<>(); - for ( ProcedureParameter parameter : parameters ) { + for ( ProcedureParameter parameter : parameters ) { if ( parameter.getName() != null ) { rtn.add( parameter.getName() ); } @@ -107,19 +107,12 @@ public Set getNamedParameterNames() { @Override public int getParameterCount() { - if ( parameters == null ) { - return 0; - } - return parameters.size(); + return parameters == null ? 0 : parameters.size(); } @Override - @SuppressWarnings("SuspiciousMethodCalls") - public boolean containsReference(QueryParameter parameter) { - if ( parameters == null ) { - return false; - } - return parameters.contains( parameter ); + public boolean containsReference(QueryParameter parameter) { + return parameters != null && parameters.contains( (ProcedureParameterImplementor) parameter ); } public ParameterStrategy getParameterStrategy() { @@ -131,14 +124,14 @@ public boolean hasAnyMatching(Predicate> filter) { if ( parameters.isEmpty() ) { return false; } - - for ( ProcedureParameterImplementor parameter : parameters ) { - if ( filter.test( parameter ) ) { - return true; + else { + for ( ProcedureParameterImplementor parameter : parameters ) { + if ( filter.test( parameter ) ) { + return true; + } } + return false; } - - return false; } @Override @@ -157,7 +150,6 @@ public ProcedureParameterImplementor getQueryParameter(String name) { if ( parameter != null ) { return parameter; } - throw new IllegalArgumentException( "Named parameter [" + name + "] is not registered with this procedure call" ); } @@ -177,57 +169,51 @@ public ProcedureParameterImplementor getQueryParameter(int positionLabel) { if ( queryParameter != null ) { return queryParameter; } - throw new IllegalArgumentException( "Positional parameter [" + positionLabel + "] is not registered with this procedure call" ); } @Override - public

ProcedureParameterImplementor

resolve(Parameter

param) { - if ( param instanceof ProcedureParameterImplementor ) { - for ( ProcedureParameterImplementor p : parameters ) { - if ( p == param ) { - //noinspection unchecked - return (ProcedureParameterImplementor

) p; + public

ProcedureParameterImplementor

resolve(Parameter

parameter) { + if ( parameter instanceof ProcedureParameterImplementor

procedureParameterImplementor ) { + for ( ProcedureParameterImplementor registered : parameters ) { + if ( registered == parameter ) { + return procedureParameterImplementor; } } } - return null; } @Override public Set> getRegistrations() { - if ( parameters == null ) { - return Collections.emptySet(); - } - return new HashSet<>( parameters ); + return parameters == null ? emptySet() : new HashSet<>( parameters ); } @Override public List> getRegistrationsAsList() { - if ( parameters == null ) { - return Collections.emptyList(); - } - return parameters; + return parameters == null ? emptyList() : parameters; } @Override - public void visitRegistrations(Consumer> action) { + public void visitRegistrations(Consumer> action) { if ( parameters != null ) { - parameters.forEach( (Consumer) action ); + parameters.forEach( action ); } } @Override public Set getOrdinalParameterLabels() { final HashSet labels = new HashSet<>(); - visitRegistrations( - p -> { - if ( p.getPosition() != null ) { - labels.add( p.getPosition() ); - } - } - ); + visitRegistrations( parameter -> { + if ( parameter.getPosition() != null ) { + labels.add( parameter.getPosition() ); + } + } ); return labels; } + + @Override + public BindableType getInferredParameterType(QueryParameter parameter) { + return null; + } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/ParameterMetadata.java b/hibernate-core/src/main/java/org/hibernate/query/ParameterMetadata.java index 911060da9adb..1bdc3b5c6649 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/ParameterMetadata.java +++ b/hibernate-core/src/main/java/org/hibernate/query/ParameterMetadata.java @@ -71,9 +71,7 @@ public interface ParameterMetadata { */

QueryParameter

resolve(Parameter

param); - default BindableType getInferredParameterType(QueryParameter parameter) { - return null; - } + BindableType getInferredParameterType(QueryParameter parameter); /** * Is this parameter reference registered in this collection? @@ -85,7 +83,7 @@ default BindableType getInferredParameterType(QueryParameter parameter /** * General purpose visitation using functional */ - void visitRegistrations(Consumer> action); + void visitRegistrations(Consumer> action); // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~` diff --git a/hibernate-core/src/main/java/org/hibernate/query/QueryParameter.java b/hibernate-core/src/main/java/org/hibernate/query/QueryParameter.java index 4c138e366048..99889f8e6096 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/QueryParameter.java +++ b/hibernate-core/src/main/java/org/hibernate/query/QueryParameter.java @@ -13,6 +13,30 @@ */ @Incubating public interface QueryParameter extends jakarta.persistence.Parameter { + /** + * Determine if this a named parameter or ordinal. + * + * @return {@code true} if it is a named parameter; + * {@code false} if it is ordinal + * + * @since 7.0 + */ + default boolean isNamed() { + return getName() != null; + } + + /** + * Determine if this a named parameter or ordinal. + * + * @return {@code true} if it is an ordinal parameter; + * {@code false} if it is named + * + * @since 7.0 + */ + default boolean isOrdinal() { + return getPosition() != null; + } + /** * Does this parameter allow multi-valued (collection, array, etc) binding? *

diff --git a/hibernate-core/src/main/java/org/hibernate/query/hql/internal/FullyQualifiedReflectivePathTerminal.java b/hibernate-core/src/main/java/org/hibernate/query/hql/internal/FullyQualifiedReflectivePathTerminal.java index d2b673c7b488..361610c50f88 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/hql/internal/FullyQualifiedReflectivePathTerminal.java +++ b/hibernate-core/src/main/java/org/hibernate/query/hql/internal/FullyQualifiedReflectivePathTerminal.java @@ -152,10 +152,10 @@ public void applyInferableType(@Nullable SqmExpressible type) { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( getParent().getFullPath() ); - sb.append( '.' ); - sb.append( getLocalName() ); + public void appendHqlString(StringBuilder hql) { + hql.append( getParent().getFullPath() ); + hql.append( '.' ); + hql.append( getLocalName() ); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/query/internal/ParameterMetadataImpl.java b/hibernate-core/src/main/java/org/hibernate/query/internal/ParameterMetadataImpl.java index 5bde0e394bfc..b181123c3a42 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/internal/ParameterMetadataImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/query/internal/ParameterMetadataImpl.java @@ -17,7 +17,6 @@ import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.internal.util.StringHelper; -import org.hibernate.internal.util.collections.CollectionHelper; import org.hibernate.internal.util.compare.ComparableComparator; import org.hibernate.query.BindableType; import org.hibernate.query.ParameterLabelException; @@ -31,6 +30,9 @@ import jakarta.persistence.Parameter; import org.checkerframework.checker.nullness.qual.Nullable; +import static java.util.Collections.emptySet; +import static org.hibernate.internal.util.collections.CollectionHelper.isEmpty; + /** * Encapsulates metadata about parameters encountered within a query. * @@ -87,7 +89,7 @@ else if ( queryParameter.getName() != null ) { public ParameterMetadataImpl( Map> positionalQueryParameters, Map> namedQueryParameters) { - assert !CollectionHelper.isEmpty( positionalQueryParameters ) || !CollectionHelper.isEmpty( namedQueryParameters ); + assert !isEmpty( positionalQueryParameters ) || !isEmpty( namedQueryParameters ); this.queryParameters = new LinkedHashMap<>(); Map> tempQueryParametersByName = null; Map> tempQueryParametersByPosition = null; @@ -118,43 +120,38 @@ public ParameterMetadataImpl( } private static void verifyOrdinalParamLabels(Set labels) { - if ( CollectionHelper.isEmpty( labels ) ) { - return; - } - - final List sortedLabels = new ArrayList<>( labels ); - sortedLabels.sort( ComparableComparator.instance() ); - - int lastPosition = -1; - for ( Integer sortedPosition : sortedLabels ) { - if ( lastPosition == -1 ) { - if ( sortedPosition != 1 ) { - throw new ParameterLabelException( - String.format( - Locale.ROOT, - "Ordinal parameter labels start from '?%s' (ordinal parameters must be labelled from '?1')", - sortedPosition - ) - ); + if ( !isEmpty( labels ) ) { + final List sortedLabels = new ArrayList<>( labels ); + sortedLabels.sort( ComparableComparator.instance() ); + + int lastPosition = -1; + for ( Integer sortedPosition : sortedLabels ) { + if ( lastPosition == -1 ) { + if ( sortedPosition != 1 ) { + throw new ParameterLabelException( + String.format( + Locale.ROOT, + "Ordinal parameter labels start from '?%s' (ordinal parameters must be labelled from '?1')", + sortedPosition + ) + ); + } + } + else { + if ( sortedPosition != lastPosition + 1 ) { + throw new ParameterLabelException( + String.format( + Locale.ROOT, + "Gap between '?%s' and '?%s' in ordinal parameter labels [%s] (ordinal parameters must be labelled sequentially)", + lastPosition, + sortedPosition, + StringHelper.join( ",", sortedLabels.iterator() ) + ) + ); + } } - lastPosition = sortedPosition; - continue; - } - - if ( sortedPosition != lastPosition + 1 ) { - throw new ParameterLabelException( - String.format( - Locale.ROOT, - "Gap between '?%s' and '?%s' in ordinal parameter labels [%s] (ordinal parameters must be labelled sequentially)", - lastPosition, - sortedPosition, - StringHelper.join( ",", sortedLabels.iterator() ) - ) - ); } - - lastPosition = sortedPosition; } } @@ -172,14 +169,16 @@ public int getParameterCount() { @Override public BindableType getInferredParameterType(QueryParameter parameter) { - final List> sqmParameters = queryParameters.get( parameter ); + final List> sqmParameters = + queryParameters.get( (QueryParameterImplementor) parameter ); if ( sqmParameters == null || sqmParameters.isEmpty() ) { return null; } for ( SqmParameter sqmParameter : sqmParameters ) { - final BindableType nodeType = (BindableType) sqmParameter.getNodeType(); + final BindableType nodeType = sqmParameter.getNodeType(); if ( nodeType != null ) { - return nodeType; + //noinspection unchecked + return (BindableType) nodeType; } } return null; @@ -192,7 +191,7 @@ public boolean containsReference(QueryParameter parameter) { } @Override - public void visitParameters(Consumer> consumer) { + public void visitParameters(Consumer> consumer) { queryParameters.keySet().forEach( consumer ); } @@ -236,10 +235,7 @@ public boolean hasNamedParameters() { @Override public Set getNamedParameterNames() { - if ( queryParametersByName == null ) { - return Collections.EMPTY_SET; - } - return queryParametersByName.keySet(); + return queryParametersByName == null ? emptySet() : queryParametersByName.keySet(); } @Override @@ -253,21 +249,21 @@ public QueryParameterImplementor findQueryParameter(String name) { @Override public QueryParameterImplementor getQueryParameter(String name) { final QueryParameterImplementor parameter = findQueryParameter( name ); - if ( parameter != null ) { return parameter; } - - final String errorMessage = String.format( - Locale.ROOT, - "No parameter named ':%s' in query with named parameters [%s]", - name, - String.join( ", ", getNamedParameterNames() ) - ); - throw new IllegalArgumentException( - errorMessage, - new UnknownParameterException( errorMessage ) - ); + else { + final String errorMessage = String.format( + Locale.ROOT, + "No parameter named ':%s' in query with named parameters [%s]", + name, + String.join( ", ", getNamedParameterNames() ) + ); + throw new IllegalArgumentException( + errorMessage, + new UnknownParameterException( errorMessage ) + ); + } } @@ -280,37 +276,31 @@ public boolean hasPositionalParameters() { } public Set getOrdinalParameterLabels() { - if ( queryParametersByPosition == null ) { - return Collections.EMPTY_SET; - } - return queryParametersByPosition.keySet(); + return queryParametersByPosition == null ? emptySet() : queryParametersByPosition.keySet(); } @Override public QueryParameterImplementor findQueryParameter(int positionLabel) { - if(queryParametersByPosition == null){ - return null; - } - return queryParametersByPosition.get( positionLabel ); + return queryParametersByPosition == null ? null : queryParametersByPosition.get( positionLabel ); } @Override public QueryParameterImplementor getQueryParameter(int positionLabel) { final QueryParameterImplementor queryParameter = findQueryParameter( positionLabel ); - if ( queryParameter != null ) { return queryParameter; } - - final String errorMessage = String.format( - Locale.ROOT, - "No parameter labelled '?%s' in query with ordinal parameters [%s]", - positionLabel, - StringHelper.join( ", ", getOrdinalParameterLabels() ) - ); - throw new IllegalArgumentException( - errorMessage, - new UnknownParameterException( errorMessage ) - ); + else { + final String errorMessage = String.format( + Locale.ROOT, + "No parameter labelled '?%s' in query with ordinal parameters [%s]", + positionLabel, + StringHelper.join( ", ", getOrdinalParameterLabels() ) + ); + throw new IllegalArgumentException( + errorMessage, + new UnknownParameterException( errorMessage ) + ); + } } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/internal/QueryParameterBindingImpl.java b/hibernate-core/src/main/java/org/hibernate/query/internal/QueryParameterBindingImpl.java index a47478db1cc8..3f2ee3f94fb3 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/internal/QueryParameterBindingImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/query/internal/QueryParameterBindingImpl.java @@ -59,7 +59,7 @@ protected QueryParameterBindingImpl( public QueryParameterBindingImpl( QueryParameter queryParameter, SessionFactoryImplementor sessionFactory, - BindableType bindType) { + BindableType bindType) { this.queryParameter = queryParameter; this.sessionFactory = sessionFactory; this.bindType = bindType; diff --git a/hibernate-core/src/main/java/org/hibernate/query/internal/QueryParameterBindingsImpl.java b/hibernate-core/src/main/java/org/hibernate/query/internal/QueryParameterBindingsImpl.java index 4dfc07d1eb48..4977e3d11a45 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/internal/QueryParameterBindingsImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/query/internal/QueryParameterBindingsImpl.java @@ -24,7 +24,6 @@ import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.engine.spi.SharedSessionContractImplementor; import org.hibernate.internal.FilterImpl; -import org.hibernate.internal.util.collections.CollectionHelper; import org.hibernate.metamodel.mapping.JdbcMapping; import org.hibernate.metamodel.mapping.MappingModelExpressible; import org.hibernate.query.BindableType; @@ -38,6 +37,8 @@ import org.hibernate.type.spi.TypeConfiguration; import static org.hibernate.engine.internal.CacheHelper.addBasicValueToCacheKey; +import static org.hibernate.internal.util.collections.CollectionHelper.linkedMapOfSize; +import static org.hibernate.internal.util.collections.CollectionHelper.mapOfSize; /** * Manages the group of QueryParameterBinding for a particular query. @@ -49,7 +50,6 @@ public class QueryParameterBindingsImpl implements QueryParameterBindings { public static final QueryParameterBindings EMPTY = from( ParameterMetadataImpl.EMPTY, null ); - private final SessionFactoryImplementor sessionFactory; private final ParameterMetadataImplementor parameterMetadata; private final LinkedHashMap, QueryParameterBinding> parameterBindingMap; @@ -64,34 +64,22 @@ public static QueryParameterBindingsImpl from( if ( parameterMetadata == null ) { throw new QueryParameterException( "Query parameter metadata cannot be null" ); } - - return new QueryParameterBindingsImpl( - sessionFactory, - parameterMetadata - ); + return new QueryParameterBindingsImpl( sessionFactory, parameterMetadata ); } private QueryParameterBindingsImpl( SessionFactoryImplementor sessionFactory, ParameterMetadataImplementor parameterMetadata) { - this.sessionFactory = sessionFactory; this.parameterMetadata = parameterMetadata; - final Set> queryParameters = parameterMetadata.getRegistrations(); - this.parameterBindingMap = CollectionHelper.linkedMapOfSize( queryParameters.size() ); - this.parameterBindingMapByNameOrPosition = CollectionHelper.mapOfSize( queryParameters.size() ); + this.parameterBindingMap = linkedMapOfSize( queryParameters.size() ); + this.parameterBindingMapByNameOrPosition = mapOfSize( queryParameters.size() ); for ( QueryParameter queryParameter : queryParameters ) { - //noinspection unchecked - final QueryParameterBindingImpl binding = new QueryParameterBindingImpl<>( - (QueryParameter) queryParameter, - sessionFactory, - (BindableType) parameterMetadata.getInferredParameterType( queryParameter ) - ); - parameterBindingMap.put( queryParameter, binding ); + parameterBindingMap.put( queryParameter, createBinding( sessionFactory, parameterMetadata, queryParameter ) ); } for ( Map.Entry, QueryParameterBinding> entry : parameterBindingMap.entrySet() ) { final QueryParameter queryParameter = entry.getKey(); - if ( queryParameter.getName() != null ) { + if ( queryParameter.isNamed() ) { parameterBindingMapByNameOrPosition.put( queryParameter.getName(), entry.getValue() ); } else if ( queryParameter.getPosition() != null ) { @@ -100,26 +88,22 @@ else if ( queryParameter.getPosition() != null ) { } } + private static QueryParameterBindingImpl createBinding( + SessionFactoryImplementor factory, ParameterMetadataImplementor parameterMetadata, QueryParameter parameter) { + return new QueryParameterBindingImpl<>( parameter, factory, + parameterMetadata.getInferredParameterType( parameter ) ); + } + private QueryParameterBindingsImpl(QueryParameterBindingsImpl original, SessionFactoryImplementor sessionFactory) { - this.sessionFactory = sessionFactory; this.parameterMetadata = original.parameterMetadata; - this.parameterBindingMap = CollectionHelper.linkedMapOfSize( original.parameterBindingMap.size() ); - this.parameterBindingMapByNameOrPosition = CollectionHelper.mapOfSize( original.parameterBindingMapByNameOrPosition.size() ); + this.parameterBindingMap = linkedMapOfSize( original.parameterBindingMap.size() ); + this.parameterBindingMapByNameOrPosition = mapOfSize( original.parameterBindingMapByNameOrPosition.size() ); for ( Map.Entry, QueryParameterBinding> entry : original.parameterBindingMap.entrySet() ) { - final QueryParameterBinding binding = entry.getValue(); - //noinspection unchecked - parameterBindingMap.put( - entry.getKey(), - new QueryParameterBindingImpl<>( - (QueryParameter) binding.getQueryParameter(), - sessionFactory, - (BindableType) binding.getBindType() - ) - ); + parameterBindingMap.put( entry.getKey(), createBinding( sessionFactory, entry.getValue() ) ); } for ( Map.Entry, QueryParameterBinding> entry : parameterBindingMap.entrySet() ) { final QueryParameter queryParameter = entry.getKey(); - if ( queryParameter.getName() != null ) { + if ( queryParameter.isNamed() ) { parameterBindingMapByNameOrPosition.put( queryParameter.getName(), entry.getValue() ); } else if ( queryParameter.getPosition() != null ) { @@ -128,6 +112,11 @@ else if ( queryParameter.getPosition() != null ) { } } + private static QueryParameterBindingImpl createBinding( + SessionFactoryImplementor factory, QueryParameterBinding binding) { + return new QueryParameterBindingImpl<>( binding.getQueryParameter(), factory, binding.getBindType() ); + } + public QueryParameterBindingsImpl copyWithoutValues(SessionFactoryImplementor sessionFactory) { return new QueryParameterBindingsImpl( this, sessionFactory ); } @@ -176,7 +165,7 @@ public void validate() { for ( Map.Entry, QueryParameterBinding> entry : parameterBindingMap.entrySet() ) { if ( !entry.getValue().isBound() ) { final QueryParameter queryParameter = entry.getKey(); - if ( queryParameter.getName() != null ) { + if ( queryParameter.isNamed() ) { throw new QueryParameterException( "No argument for named parameter ':" + queryParameter.getName() + "'" ); } else { @@ -193,7 +182,6 @@ public boolean hasAnyMultiValuedBindings() { return true; } } - return false; } @@ -209,19 +197,21 @@ public QueryKey.ParameterBindingsMemento generateQueryKeyMemento(SharedSessionCo final Object tenantId = session.getTenantIdentifierValue(); mutableCacheKey.addValue( tenantIdentifierJavaType.getMutabilityPlan().disassemble( tenantId, session ) ); mutableCacheKey.addHashCode( tenantId == null ? 0 : tenantIdentifierJavaType.extractHashCode( tenantId ) ); + handleQueryParameters( session, mutableCacheKey ); + handleFilterParameters( session, mutableCacheKey ); + // Finally, build the overall cache key + return mutableCacheKey.build(); + } + private void handleQueryParameters(SharedSessionContractImplementor session, MutableCacheKeyImpl mutableCacheKey) { final TypeConfiguration typeConfiguration = session.getFactory().getTypeConfiguration(); // We know that parameters are consumed in processing order, this ensures consistency of generated cache keys for ( Map.Entry, QueryParameterBinding> entry : parameterBindingMap.entrySet() ) { final QueryParameter queryParameter = entry.getKey(); final QueryParameterBinding binding = entry.getValue(); assert binding.isBound() : "Found unbound query parameter while generating cache key"; - - final MappingModelExpressible mappingType = determineMappingType( - binding, - queryParameter, - typeConfiguration - ); + final MappingModelExpressible mappingType = + determineMappingType( binding, queryParameter, typeConfiguration ); if ( binding.isMultiValued() ) { for ( Object bindValue : binding.getBindValues() ) { assert bindValue != null; @@ -233,29 +223,31 @@ public QueryKey.ParameterBindingsMemento generateQueryKeyMemento(SharedSessionCo mappingType.addToCacheKey( mutableCacheKey, bindValue, session ); } } + } + + private static void handleFilterParameters(SharedSessionContractImplementor session, MutableCacheKeyImpl mutableCacheKey) { // Note: The following loops rely on getEnabledFilters() and getParameters() to return sorted maps final LoadQueryInfluencers loadQueryInfluencers = session.getLoadQueryInfluencers(); for ( Map.Entry entry : loadQueryInfluencers.getEnabledFilters().entrySet() ) { final FilterImpl filter = (FilterImpl) entry.getValue(); final FilterDefinition filterDefinition = filter.getFilterDefinition(); for ( Map.Entry paramEntry : filter.getParameters().entrySet() ) { - final JdbcMapping jdbcMapping = filterDefinition.getParameterJdbcMapping( paramEntry.getKey() ); + final String parameterName = paramEntry.getKey(); final Object paramValue = paramEntry.getValue(); + final JdbcMapping jdbcMapping = filterDefinition.getParameterJdbcMapping( parameterName ); + assert jdbcMapping != null : + // should not happen because FilterImpl protects against it + "Undefined filter parameter '" + parameterName + "'"; addBasicValueToCacheKey( mutableCacheKey, paramValue, jdbcMapping, session ); } } - - // Finally, build the overall cache key - return mutableCacheKey.build(); } - private static MappingModelExpressible determineMappingType(QueryParameterBinding binding, QueryParameter queryParameter, TypeConfiguration typeConfiguration) { + private static MappingModelExpressible determineMappingType( + QueryParameterBinding binding, QueryParameter queryParameter, TypeConfiguration typeConfiguration) { final BindableType bindType = binding.getBindType(); - if ( bindType != null ) { - if ( bindType instanceof MappingModelExpressible ) { - //noinspection unchecked - return (MappingModelExpressible) bindType; - } + if ( bindType instanceof MappingModelExpressible mappingModelExpressible ) { + return mappingModelExpressible; } final MappingModelExpressible type = binding.getType(); @@ -273,10 +265,7 @@ private static MappingModelExpressible determineMappingType(QueryParameterBin if ( binding.isMultiValued() ) { final Iterator iterator = binding.getBindValues().iterator(); - Object firstNonNullBindValue = null; - if ( iterator.hasNext() ) { - firstNonNullBindValue = iterator.next(); - } + final Object firstNonNullBindValue = iterator.hasNext() ? iterator.next() : null; if ( firstNonNullBindValue != null ) { return typeConfiguration.getBasicTypeForJavaType( firstNonNullBindValue.getClass() ); } @@ -286,13 +275,16 @@ else if ( binding.getBindValue() != null ) { } if ( bindType == null ) { - if ( queryParameter.getName() != null ) { - throw new QueryParameterException( "Could not determine mapping type for named parameter ':" + queryParameter.getName() + "'" ); + if ( queryParameter.isNamed() ) { + throw new QueryParameterException( "Could not determine mapping type for named parameter ':" + + queryParameter.getName() + "'" ); } else { - throw new QueryParameterException( "Could not determine mapping type for ordinal parameter '?" + queryParameter.getPosition() + "'" ); + throw new QueryParameterException( "Could not determine mapping type for ordinal parameter '?" + + queryParameter.getPosition() + "'" ); } } + return typeConfiguration.getBasicTypeForJavaType( bindType.getBindableJavaType() ); } @@ -331,20 +323,22 @@ private ParameterBindingsMementoImpl(Object[] values, int hashCode) { } @Override - public boolean equals(Object o) { - if ( this == o ) { + public boolean equals(Object that) { + if ( this == that ) { return true; } - if ( o == null || getClass() != o.getClass() ) { + else if ( that == null ) { return false; } - - ParameterBindingsMementoImpl queryKey = (ParameterBindingsMementoImpl) o; - - if ( hashCode != queryKey.hashCode ) { + else if ( !(that instanceof ParameterBindingsMementoImpl queryKey) ) { return false; } - return Arrays.deepEquals( values, queryKey.values ); + else if ( hashCode != queryKey.hashCode ) { + return false; + } + else { + return Arrays.deepEquals( values, queryKey.values ); + } } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/query/internal/QueryParameterNamedImpl.java b/hibernate-core/src/main/java/org/hibernate/query/internal/QueryParameterNamedImpl.java index d08dc306c3af..ec9a6fba6abb 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/internal/QueryParameterNamedImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/query/internal/QueryParameterNamedImpl.java @@ -24,10 +24,9 @@ public class QueryParameterNamedImpl extends AbstractQueryParameter { * * @return The parameter descriptor */ - public static QueryParameterNamedImpl fromSqm(SqmParameter parameter) { + public static QueryParameterNamedImpl fromSqm(SqmParameter parameter) { assert parameter.getName() != null; assert parameter.getPosition() == null; - return new QueryParameterNamedImpl<>( parameter.getName(), parameter.allowMultiValuedBinding(), @@ -36,20 +35,12 @@ public static QueryParameterNamedImpl fromSqm(SqmParameter parameter) } public static QueryParameterNamedImpl fromNativeQuery(String name) { - return new QueryParameterNamedImpl<>( - name, - true, - null - ); + return new QueryParameterNamedImpl<>( name, true, null ); } private final String name; - private QueryParameterNamedImpl( - String name, - boolean allowMultiValuedBinding, - BindableType anticipatedType) { - //noinspection unchecked + private QueryParameterNamedImpl(String name, boolean allowMultiValuedBinding, BindableType anticipatedType) { super( allowMultiValuedBinding, anticipatedType ); this.name = name; } @@ -69,11 +60,15 @@ public boolean equals(Object o) { if ( this == o ) { return true; } - if ( o == null || getClass() != o.getClass() ) { + else if ( o == null ) { return false; } - QueryParameterNamedImpl that = (QueryParameterNamedImpl) o; - return Objects.equals( name, that.name ); + else if ( !(o instanceof QueryParameterNamedImpl that) ) { + return false; + } + else { + return Objects.equals( name, that.name ); + } } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/query/spi/AbstractQueryParameter.java b/hibernate-core/src/main/java/org/hibernate/query/spi/AbstractQueryParameter.java index 419fd1362a05..d1dffb3b6596 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/spi/AbstractQueryParameter.java +++ b/hibernate-core/src/main/java/org/hibernate/query/spi/AbstractQueryParameter.java @@ -5,25 +5,25 @@ package org.hibernate.query.spi; import org.hibernate.query.BindableType; -import org.hibernate.query.QueryLogging; + +import static org.hibernate.query.QueryLogging.QUERY_MESSAGE_LOGGER; /** * @author Steve Ebersole */ public abstract class AbstractQueryParameter implements QueryParameterImplementor { + private boolean allowMultiValuedBinding; private BindableType anticipatedType; - public AbstractQueryParameter( - boolean allowMultiValuedBinding, - BindableType anticipatedType) { + public AbstractQueryParameter(boolean allowMultiValuedBinding, BindableType anticipatedType) { this.allowMultiValuedBinding = allowMultiValuedBinding; this.anticipatedType = anticipatedType; } @Override public void disallowMultiValuedBinding() { - QueryLogging.QUERY_MESSAGE_LOGGER.debugf( "QueryParameter#disallowMultiValuedBinding() called : %s", this ); + QUERY_MESSAGE_LOGGER.debugf( "QueryParameter#disallowMultiValuedBinding() called : %s", this ); this.allowMultiValuedBinding = true; } @@ -38,9 +38,9 @@ public BindableType getHibernateType() { } @Override - public void applyAnticipatedType(BindableType type) { + public void applyAnticipatedType(BindableType type) { //noinspection unchecked - this.anticipatedType = type; + this.anticipatedType = (BindableType) type; } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/query/spi/ParameterMetadataImplementor.java b/hibernate-core/src/main/java/org/hibernate/query/spi/ParameterMetadataImplementor.java index 4de36afb32e2..c19dcf71e593 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/spi/ParameterMetadataImplementor.java +++ b/hibernate-core/src/main/java/org/hibernate/query/spi/ParameterMetadataImplementor.java @@ -16,16 +16,15 @@ * @author Steve Ebersole */ public interface ParameterMetadataImplementor extends ParameterMetadata { - void visitParameters(Consumer> consumer); + void visitParameters(Consumer> consumer); - default void collectAllParameters(Consumer> collector) { + default void collectAllParameters(Consumer> collector) { visitParameters( collector ); } @Override - default void visitRegistrations(Consumer> action) { - //noinspection unchecked - visitParameters( (Consumer) action ); + default void visitRegistrations(Consumer> action) { + visitParameters( action ); } boolean hasAnyMatching(Predicate> filter); diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/function/SelfRenderingSqmAggregateFunction.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/function/SelfRenderingSqmAggregateFunction.java index f5a13263511a..1d325714ed49 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/function/SelfRenderingSqmAggregateFunction.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/function/SelfRenderingSqmAggregateFunction.java @@ -95,29 +95,29 @@ public SqmPredicate getFilter() { } @Override - public void appendHqlString(StringBuilder sb) { + public void appendHqlString(StringBuilder hql) { final List> arguments = getArguments(); - sb.append( getFunctionName() ); - sb.append( '(' ); + hql.append( getFunctionName() ); + hql.append( '(' ); int i = 1; if ( arguments.get( 0 ) instanceof SqmDistinct ) { - arguments.get( 0 ).appendHqlString( sb ); + arguments.get( 0 ).appendHqlString( hql ); if ( arguments.size() > 1 ) { - sb.append( ' ' ); - arguments.get( 1 ).appendHqlString( sb ); + hql.append( ' ' ); + arguments.get( 1 ).appendHqlString( hql ); i = 2; } } for ( ; i < arguments.size(); i++ ) { - sb.append(", "); - arguments.get( i ).appendHqlString( sb ); + hql.append(", "); + arguments.get( i ).appendHqlString( hql ); } - sb.append( ')' ); + hql.append( ')' ); if ( filter != null ) { - sb.append( " filter (where " ); - filter.appendHqlString( sb ); - sb.append( ')' ); + hql.append( " filter (where " ); + filter.appendHqlString( hql ); + hql.append( ')' ); } } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/function/SelfRenderingSqmOrderedSetAggregateFunction.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/function/SelfRenderingSqmOrderedSetAggregateFunction.java index 8f52ba799f70..f19997a538e2 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/function/SelfRenderingSqmOrderedSetAggregateFunction.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/function/SelfRenderingSqmOrderedSetAggregateFunction.java @@ -133,40 +133,40 @@ public SqmOrderByClause getWithinGroup() { } @Override - public void appendHqlString(StringBuilder sb) { + public void appendHqlString(StringBuilder hql) { final List> arguments = getArguments(); - sb.append( getFunctionName() ); - sb.append( '(' ); + hql.append( getFunctionName() ); + hql.append( '(' ); int i = 1; if ( arguments.get( 0 ) instanceof SqmDistinct ) { - arguments.get( 0 ).appendHqlString( sb ); + arguments.get( 0 ).appendHqlString( hql ); if ( arguments.size() > 1 ) { - sb.append( ' ' ); - arguments.get( 1 ).appendHqlString( sb ); + hql.append( ' ' ); + arguments.get( 1 ).appendHqlString( hql ); i = 2; } } for ( ; i < arguments.size(); i++ ) { - sb.append(", "); - arguments.get( i ).appendHqlString( sb ); + hql.append(", "); + arguments.get( i ).appendHqlString( hql ); } - sb.append( ')' ); + hql.append( ')' ); if ( withinGroup != null ) { - sb.append( " within group (order by " ); + hql.append( " within group (order by " ); final List sortSpecifications = withinGroup.getSortSpecifications(); - sortSpecifications.get( 0 ).appendHqlString( sb ); + sortSpecifications.get( 0 ).appendHqlString( hql ); for ( int j = 1; j < sortSpecifications.size(); j++ ) { - sb.append( ", " ); - sortSpecifications.get( j ).appendHqlString( sb ); + hql.append( ", " ); + sortSpecifications.get( j ).appendHqlString( hql ); } - sb.append( ')' ); + hql.append( ')' ); } if ( getFilter() != null ) { - sb.append( " filter (where " ); - getFilter().appendHqlString( sb ); - sb.append( ')' ); + hql.append( " filter (where " ); + getFilter().appendHqlString( hql ); + hql.append( ')' ); } } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/function/SelfRenderingSqmWindowFunction.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/function/SelfRenderingSqmWindowFunction.java index edaab1ed4537..732f78e1078e 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/function/SelfRenderingSqmWindowFunction.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/function/SelfRenderingSqmWindowFunction.java @@ -115,45 +115,45 @@ public Boolean getFromFirst() { } @Override - public void appendHqlString(StringBuilder sb) { + public void appendHqlString(StringBuilder hql) { final List> arguments = getArguments(); - sb.append( getFunctionName() ); - sb.append( '(' ); + hql.append( getFunctionName() ); + hql.append( '(' ); int i = 1; if ( arguments.get( 0 ) instanceof SqmDistinct ) { - arguments.get( 0 ).appendHqlString( sb ); + arguments.get( 0 ).appendHqlString( hql ); if ( arguments.size() > 1 ) { - sb.append( ' ' ); - arguments.get( 1 ).appendHqlString( sb ); + hql.append( ' ' ); + arguments.get( 1 ).appendHqlString( hql ); i = 2; } } for ( ; i < arguments.size(); i++ ) { - sb.append(", "); - arguments.get( i ).appendHqlString( sb ); + hql.append(", "); + arguments.get( i ).appendHqlString( hql ); } - sb.append( ')' ); + hql.append( ')' ); if ( fromFirst != null ) { if ( fromFirst ) { - sb.append( " from first" ); + hql.append( " from first" ); } else { - sb.append( " from last" ); + hql.append( " from last" ); } } if ( respectNulls != null ) { if ( respectNulls ) { - sb.append( " respect nulls" ); + hql.append( " respect nulls" ); } else { - sb.append( " ignore nulls" ); + hql.append( " ignore nulls" ); } } if ( filter != null ) { - sb.append( " filter (where " ); - filter.appendHqlString( sb ); - sb.append( ')' ); + hql.append( " filter (where " ); + filter.appendHqlString( hql ); + hql.append( ')' ); } } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/internal/DomainParameterXref.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/internal/DomainParameterXref.java index d75cd8ed1193..77301f849d15 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/internal/DomainParameterXref.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/internal/DomainParameterXref.java @@ -5,7 +5,6 @@ package org.hibernate.query.sqm.internal; import java.util.ArrayList; -import java.util.Collections; import java.util.IdentityHashMap; import java.util.LinkedHashMap; import java.util.List; @@ -22,6 +21,8 @@ import org.hibernate.query.sqm.tree.expression.SqmParameter; import org.hibernate.type.BasicCollectionType; +import static java.util.Collections.emptyList; + /** * Maintains a cross-reference between SqmParameter and QueryParameter references. * @@ -39,71 +40,76 @@ public class DomainParameterXref { * Create a DomainParameterXref for the parameters defined in the SQM statement */ public static DomainParameterXref from(SqmStatement sqmStatement) { - // `xrefMap` is used to help maintain the proper cardinality between an - // SqmParameter and a QueryParameter. Multiple SqmParameter references - // can map to the same QueryParameter. Consider, e.g., - // `.. where a.b = :param or a.c = :param`. Here we have 2 SqmParameter - // references (one for each occurrence of `:param`) both of which map to - // the same QueryParameter. - final Map, QueryParameterImplementor> xrefMap = new TreeMap<>(); - final SqmStatement.ParameterResolutions parameterResolutions = sqmStatement.resolveParameters(); if ( parameterResolutions.getSqmParameters().isEmpty() ) { return EMPTY; } + else { + final int sqmParamCount = parameterResolutions.getSqmParameters().size(); + final LinkedHashMap, List>> sqmParamsByQueryParam = + new LinkedHashMap<>( sqmParamCount ); + final IdentityHashMap, QueryParameterImplementor> queryParamBySqmParam = + new IdentityHashMap<>( sqmParamCount ); + + for ( SqmParameter sqmParameter : parameterResolutions.getSqmParameters() ) { + if ( sqmParameter instanceof JpaCriteriaParameter ) { + // see discussion on `SqmJpaCriteriaParameterWrapper#accept` + throw new UnsupportedOperationException( + "Unexpected JpaCriteriaParameter in SqmStatement#getSqmParameters. Criteria parameters " + + "should be represented as SqmJpaCriteriaParameterWrapper references in this collection" + ); + } - final int sqmParamCount = parameterResolutions.getSqmParameters().size(); - final LinkedHashMap, List>> sqmParamsByQueryParam = new LinkedHashMap<>( sqmParamCount ); - final IdentityHashMap, QueryParameterImplementor> queryParamBySqmParam = new IdentityHashMap<>( sqmParamCount ); - - for ( SqmParameter sqmParameter : parameterResolutions.getSqmParameters() ) { - if ( sqmParameter instanceof JpaCriteriaParameter ) { - // see discussion on `SqmJpaCriteriaParameterWrapper#accept` - throw new UnsupportedOperationException( - "Unexpected JpaCriteriaParameter in SqmStatement#getSqmParameters. Criteria parameters " + - "should be represented as SqmJpaCriteriaParameterWrapper references in this collection" + // `xrefMap` is used to help maintain the proper cardinality between an + // SqmParameter and a QueryParameter. Multiple SqmParameter references + // can map to the same QueryParameter. Consider, e.g., + // `.. where a.b = :param or a.c = :param`. Here we have 2 SqmParameter + // references (one for each occurrence of `:param`) both of which map to + // the same QueryParameter. + final Map, QueryParameterImplementor> xrefMap = new TreeMap<>(); + + final QueryParameterImplementor queryParameter = xrefMap.computeIfAbsent( + sqmParameter, + parameter -> { + if ( sqmParameter instanceof SqmJpaCriteriaParameterWrapper sqmJpaCriteriaParameterWrapper ) { + return sqmJpaCriteriaParameterWrapper.getJpaCriteriaParameter(); + } + else if ( sqmParameter.getName() != null ) { + return QueryParameterNamedImpl.fromSqm( sqmParameter ); + } + else if ( sqmParameter.getPosition() != null ) { + return QueryParameterPositionalImpl.fromSqm( sqmParameter ); + } + else { + throw new UnsupportedOperationException( + "Unexpected SqmParameter type : " + sqmParameter ); + } + } ); - } - final QueryParameterImplementor queryParameter = xrefMap.computeIfAbsent( - sqmParameter, - p -> { - if ( sqmParameter instanceof SqmJpaCriteriaParameterWrapper ) { - return ( (SqmJpaCriteriaParameterWrapper) sqmParameter ).getJpaCriteriaParameter(); - } - else if ( sqmParameter.getName() != null ) { - return QueryParameterNamedImpl.fromSqm( sqmParameter ); - } - else if ( sqmParameter.getPosition() != null ) { - return QueryParameterPositionalImpl.fromSqm( sqmParameter ); - } - else { - throw new UnsupportedOperationException( "Unexpected SqmParameter type : " + sqmParameter ); - } + if ( !sqmParameter.allowMultiValuedBinding() ) { + if ( queryParameter.allowsMultiValuedBinding() ) { + SqmTreeTransformationLogger.LOGGER.debugf( + "SqmParameter [%s] does not allow multi-valued binding, " + + "but mapped to existing QueryParameter [%s] that does - " + + "disallowing multi-valued binding", + sqmParameter, + queryParameter + ); + queryParameter.disallowMultiValuedBinding(); } - ); - - if ( ! sqmParameter.allowMultiValuedBinding() ) { - if ( queryParameter.allowsMultiValuedBinding() ) { - SqmTreeTransformationLogger.LOGGER.debugf( - "SqmParameter [%s] does not allow multi-valued binding, " + - "but mapped to existing QueryParameter [%s] that does - " + - "disallowing multi-valued binding" , - sqmParameter, - queryParameter - ); + } + else if ( sqmParameter.getExpressible() != null + && sqmParameter.getExpressible().getSqmType() instanceof BasicCollectionType ) { queryParameter.disallowMultiValuedBinding(); } - } - else if ( sqmParameter.getExpressible() != null && sqmParameter.getExpressible().getSqmType() instanceof BasicCollectionType ) { - queryParameter.disallowMultiValuedBinding(); + + sqmParamsByQueryParam.computeIfAbsent( queryParameter, impl -> new ArrayList<>() ).add( sqmParameter ); + queryParamBySqmParam.put( sqmParameter, queryParameter ); } - sqmParamsByQueryParam.computeIfAbsent( queryParameter, qp -> new ArrayList<>() ).add( sqmParameter ); - queryParamBySqmParam.put( sqmParameter, queryParameter ); + return new DomainParameterXref( sqmParamsByQueryParam, queryParamBySqmParam, parameterResolutions ); } - - return new DomainParameterXref( sqmParamsByQueryParam, queryParamBySqmParam, parameterResolutions ); } @@ -128,11 +134,10 @@ private DomainParameterXref( public DomainParameterXref copy() { //noinspection unchecked - return new DomainParameterXref( - sqmParamsByQueryParam, - (IdentityHashMap, QueryParameterImplementor>) queryParamBySqmParam.clone(), - parameterResolutions - ); + final var clone = + (IdentityHashMap, QueryParameterImplementor>) + queryParamBySqmParam.clone(); + return new DomainParameterXref( sqmParamsByQueryParam, clone, parameterResolutions ); } /** @@ -157,14 +162,12 @@ public int getSqmParameterCount() { return queryParamBySqmParam.size(); } - public int getNumberOfSqmParameters(QueryParameterImplementor queryParameter) { - final List> sqmParameters = sqmParamsByQueryParam.get( queryParameter ); - if ( sqmParameters == null ) { - // this should maybe be an exception instead - return 0; - } - return sqmParameters.size(); - } +// public int getNumberOfSqmParameters(QueryParameterImplementor queryParameter) { +// final List> sqmParameters = sqmParamsByQueryParam.get( queryParameter ); +// return sqmParameters == null +// ? 0 // this should maybe be an exception instead +// : sqmParameters.size(); +// } public SqmStatement.ParameterResolutions getParameterResolutions() { return parameterResolutions; @@ -175,49 +178,47 @@ public List> getSqmParameters(QueryParameterImplementor query } public QueryParameterImplementor getQueryParameter(SqmParameter sqmParameter) { - if ( sqmParameter instanceof SqmJpaCriteriaParameterWrapper ) { - return ( (SqmJpaCriteriaParameterWrapper) sqmParameter ).getJpaCriteriaParameter(); + if ( sqmParameter instanceof SqmJpaCriteriaParameterWrapper parameterWrapper ) { + return parameterWrapper.getJpaCriteriaParameter(); } - else if ( sqmParameter instanceof QueryParameterImplementor ) { - return (QueryParameterImplementor) sqmParameter; + else if ( sqmParameter instanceof QueryParameterImplementor parameterImplementor ) { + return parameterImplementor; + } + else { + return queryParamBySqmParam.get( sqmParameter ); } - return queryParamBySqmParam.get( sqmParameter ); } public void addExpansion( QueryParameterImplementor domainParam, - SqmParameter originalSqmParameter, - SqmParameter expansion) { + SqmParameter originalSqmParameter, + SqmParameter expansion) { assert !queryParamBySqmParam.isEmpty(); queryParamBySqmParam.put( expansion, domainParam ); - if ( expansions == null ) { expansions = new IdentityHashMap<>(); } - expansions.computeIfAbsent( originalSqmParameter, p -> new ArrayList<>() ).add( expansion ); } public List> getExpansions(SqmParameter sqmParameter) { if ( expansions == null ) { - return Collections.emptyList(); + return emptyList(); + } + else { + final List> sqmParameters = expansions.get( sqmParameter ); + return sqmParameters == null ? emptyList() : sqmParameters; } - - final List> sqmParameters = expansions.get( sqmParameter ); - return sqmParameters == null ? Collections.emptyList() : sqmParameters; } public void clearExpansions() { - if ( expansions == null ) { - return; - } - - for ( List> expansionList : expansions.values() ) { - for ( SqmParameter expansion : expansionList ) { - queryParamBySqmParam.remove( expansion ); + if ( expansions != null ) { + for ( List> expansionList : expansions.values() ) { + for ( SqmParameter expansion : expansionList ) { + queryParamBySqmParam.remove( expansion ); + } } + expansions.clear(); } - - expansions.clear(); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/internal/SqmSelectionQueryImpl.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/internal/SqmSelectionQueryImpl.java index deac40f15ea3..fd31f644751b 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/internal/SqmSelectionQueryImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/internal/SqmSelectionQueryImpl.java @@ -236,9 +236,7 @@ SqmSelectionQueryImpl(AbstractSqmSelectionQuery original, KeyedPage ke } private void setBindValues(QueryParameter parameter, QueryParameterBinding binding) { - final QueryParameterBinding paramBinding = parameterBindings.getBinding( parameter ); - //noinspection unchecked - final QueryParameterBinding parameterBinding = (QueryParameterBinding) paramBinding; + final QueryParameterBinding parameterBinding = parameterBindings.getBinding( binding.getQueryParameter() ); final TemporalType explicitTemporalPrecision = binding.getExplicitTemporalPrecision(); if ( explicitTemporalPrecision != null ) { if ( binding.isMultiValued() ) { @@ -297,15 +295,15 @@ else if ( expectedResultType != null ) { } private void bindCriteriaParameter(SqmJpaCriteriaParameterWrapper sqmParameter) { - final JpaCriteriaParameter jpaCriteriaParameter = sqmParameter.getJpaCriteriaParameter(); - final T value = jpaCriteriaParameter.getValue(); + final JpaCriteriaParameter criteriaParameter = sqmParameter.getJpaCriteriaParameter(); + final T value = criteriaParameter.getValue(); // We don't set a null value, unless the type is also null which // is the case when using HibernateCriteriaBuilder.value - if ( value != null || jpaCriteriaParameter.getNodeType() == null ) { + if ( value != null || criteriaParameter.getNodeType() == null ) { // Use the anticipated type for binding the value if possible getQueryParameterBindings() - .getBinding( jpaCriteriaParameter ) - .setBindValue( value, jpaCriteriaParameter.getAnticipatedType() ); + .getBinding( criteriaParameter ) + .setBindValue( value, criteriaParameter.getAnticipatedType() ); } } @@ -344,16 +342,6 @@ public String getQueryString() { return hql; } - // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // convenience methods - -// @Override -// public SelectionQuery setPage(int pageSize, int pageNumber) { -// setFirstResult( pageNumber * pageSize ); -// setMaxResults( pageSize ); -// return this; -// } - // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // execution @@ -413,7 +401,6 @@ private List handleDistinct(boolean hasLimit, SqmSelectStatement statement private DomainQueryExecutionContext executionContext(boolean hasLimit, boolean containsCollectionFetches) { if ( hasLimit && containsCollectionFetches ) { errorOrLogForPaginationWithCollectionFetch(); - final MutableQueryOptions originalQueryOptions = getQueryOptions(); final QueryOptions normalizedQueryOptions = omitSqlQueryOptions( originalQueryOptions, true, false ); if ( originalQueryOptions == normalizedQueryOptions ) { diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/AbstractSqmRestrictedDmlStatement.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/AbstractSqmRestrictedDmlStatement.java index e9befcfcee7b..eb1c1a630fab 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/AbstractSqmRestrictedDmlStatement.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/AbstractSqmRestrictedDmlStatement.java @@ -131,10 +131,10 @@ protected void setWhere(Predicate... restrictions) { } @Override - public void appendHqlString(StringBuilder sb) { + public void appendHqlString(StringBuilder hql) { if ( whereClause != null && whereClause.getPredicate() != null ) { - sb.append( " where " ); - whereClause.getPredicate().appendHqlString( sb ); + hql.append( " where " ); + whereClause.getPredicate().appendHqlString( hql ); } } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/SqmVisitableNode.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/SqmVisitableNode.java index 784af8ce22e2..f68852b1e14b 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/SqmVisitableNode.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/SqmVisitableNode.java @@ -18,11 +18,11 @@ public interface SqmVisitableNode extends SqmNode { */ X accept(SemanticQueryWalker walker); - void appendHqlString(StringBuilder sb); + void appendHqlString(StringBuilder hql); default String toHqlString() { - StringBuilder sb = new StringBuilder(); - appendHqlString( sb ); - return sb.toString(); + final StringBuilder hql = new StringBuilder(); + appendHqlString( hql ); + return hql.toString(); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/cte/SqmCteStatement.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/cte/SqmCteStatement.java index 3d556fb70ab7..decd55504920 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/cte/SqmCteStatement.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/cte/SqmCteStatement.java @@ -320,86 +320,86 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { + public void appendHqlString(StringBuilder hql) { if ( cteTable.getName() == null ) { - sb.append( "generated_" ); + hql.append( "generated_" ); } - sb.append( cteTable.getCteName() ); - sb.append( " (" ); + hql.append( cteTable.getCteName() ); + hql.append( " (" ); final List columns = cteTable.getColumns(); - sb.append( columns.get( 0 ).getColumnName() ); + hql.append( columns.get( 0 ).getColumnName() ); for ( int i = 1; i < columns.size(); i++ ) { - sb.append( ", " ); - sb.append( columns.get( i ).getColumnName() ); + hql.append( ", " ); + hql.append( columns.get( i ).getColumnName() ); } - sb.append( ") as " ); + hql.append( ") as " ); if ( getMaterialization() != CteMaterialization.UNDEFINED ) { - sb.append( getMaterialization() ).append( ' ' ); + hql.append( getMaterialization() ).append( ' ' ); } if ( getCteDefinition() instanceof SqmSubQuery ) { - ( (SqmSubQuery) getCteDefinition() ).appendHqlString( sb ); + ( (SqmSubQuery) getCteDefinition() ).appendHqlString( hql ); } else { - sb.append( '(' ); - ( (SqmSelectStatement) getCteDefinition() ).appendHqlString( sb ); - sb.append( ')' ); + hql.append( '(' ); + ( (SqmSelectStatement) getCteDefinition() ).appendHqlString( hql ); + hql.append( ')' ); } String separator; if ( getSearchClauseKind() != null ) { - sb.append( " search " ); + hql.append( " search " ); if ( getSearchClauseKind() == CteSearchClauseKind.DEPTH_FIRST ) { - sb.append( " depth " ); + hql.append( " depth " ); } else { - sb.append( " breadth " ); + hql.append( " breadth " ); } - sb.append( " first by " ); + hql.append( " first by " ); separator = ""; for ( JpaSearchOrder searchBySpecification : getSearchBySpecifications() ) { - sb.append( separator ); - sb.append( searchBySpecification.getAttribute().getName() ); + hql.append( separator ); + hql.append( searchBySpecification.getAttribute().getName() ); if ( searchBySpecification.getSortOrder() != null ) { if ( searchBySpecification.getSortOrder() == SortDirection.ASCENDING ) { - sb.append( " asc" ); + hql.append( " asc" ); } else { - sb.append( " desc" ); + hql.append( " desc" ); } if ( searchBySpecification.getNullPrecedence() != null ) { switch ( searchBySpecification.getNullPrecedence() ) { case FIRST: - sb.append( " nulls first" ); + hql.append( " nulls first" ); break; case LAST: - sb.append( " nulls last" ); + hql.append( " nulls last" ); break; } } } separator = ", "; } - sb.append( " set " ); - sb.append( getSearchAttributeName() ); + hql.append( " set " ); + hql.append( getSearchAttributeName() ); } if ( getCycleMarkAttributeName() != null ) { - sb.append( " cycle " ); + hql.append( " cycle " ); separator = ""; for ( JpaCteCriteriaAttribute cycleColumn : getCycleAttributes() ) { - sb.append( separator ); - sb.append( cycleColumn.getName() ); + hql.append( separator ); + hql.append( cycleColumn.getName() ); separator = ", "; } - sb.append( " set " ); - sb.append( getCycleMarkAttributeName() ); - sb.append( " to " ); - getCycleLiteral().appendHqlString( sb ); - sb.append( " default " ); - getNoCycleLiteral().appendHqlString( sb ); + hql.append( " set " ); + hql.append( getCycleMarkAttributeName() ); + hql.append( " to " ); + getCycleLiteral().appendHqlString( hql ); + hql.append( " default " ); + getNoCycleLiteral().appendHqlString( hql ); if ( getCyclePathAttributeName() != null ) { - sb.append( " using " ); - sb.append( getCyclePathAttributeName() ); + hql.append( " using " ); + hql.append( getCyclePathAttributeName() ); } } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/delete/SqmDeleteStatement.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/delete/SqmDeleteStatement.java index 60f8841f1732..f4c2db7c5ead 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/delete/SqmDeleteStatement.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/delete/SqmDeleteStatement.java @@ -101,15 +101,15 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - appendHqlCteString( sb ); - sb.append( "delete from " ); + public void appendHqlString(StringBuilder hql) { + appendHqlCteString( hql ); + hql.append( "delete from " ); final SqmRoot root = getTarget(); - sb.append( root.getEntityName() ); - sb.append( ' ' ).append( root.resolveAlias() ); - SqmFromClause.appendJoins( root, sb ); - SqmFromClause.appendTreatJoins( root, sb ); - super.appendHqlString( sb ); + hql.append( root.getEntityName() ); + hql.append( ' ' ).append( root.resolveAlias() ); + SqmFromClause.appendJoins( root, hql ); + SqmFromClause.appendTreatJoins( root, hql ); + super.appendHqlString( hql ); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/AbstractSqmFrom.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/AbstractSqmFrom.java index e56c19ce900f..28a47d8dbde2 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/AbstractSqmFrom.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/AbstractSqmFrom.java @@ -959,13 +959,13 @@ public SqmTreatedFrom treatAs(EntityDomainType treatTarg } @Override - public void appendHqlString(StringBuilder sb) { + public void appendHqlString(StringBuilder hql) { if ( alias == null ) { // If we don't have an alias, this is the best we can do to at least ensure uniqueness - sb.append( "alias_" ).append( System.identityHashCode( this ) ); + hql.append( "alias_" ).append( System.identityHashCode( this ) ); } else { - sb.append( alias ); + hql.append( alias ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/AbstractSqmSimplePath.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/AbstractSqmSimplePath.java index 07d17b03d251..c5cf9c825497 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/AbstractSqmSimplePath.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/AbstractSqmSimplePath.java @@ -34,12 +34,12 @@ public AbstractSqmSimplePath( } @Override - public void appendHqlString(StringBuilder sb) { + public void appendHqlString(StringBuilder hql) { if ( getLhs() != null ) { - getLhs().appendHqlString( sb ); - sb.append( '.' ); + getLhs().appendHqlString( hql ); + hql.append( '.' ); } - sb.append( getReferencedPathSource().getPathName() ); + hql.append( getReferencedPathSource().getPathName() ); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmElementAggregateFunction.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmElementAggregateFunction.java index cc8301ecc4ab..9072cfa6d9b8 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmElementAggregateFunction.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmElementAggregateFunction.java @@ -111,9 +111,9 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append(functionName).append( "(" ); - getLhs().appendHqlString( sb ); - sb.append( ')' ); + public void appendHqlString(StringBuilder hql) { + hql.append(functionName).append( "(" ); + getLhs().appendHqlString( hql ); + hql.append( ')' ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmFkExpression.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmFkExpression.java index 86db8f40b161..396305b5b029 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmFkExpression.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmFkExpression.java @@ -52,10 +52,10 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "fk(" ); - getLhs().appendHqlString( sb ); - sb.append( ')' ); + public void appendHqlString(StringBuilder hql) { + hql.append( "fk(" ); + getLhs().appendHqlString( hql ); + hql.append( ')' ); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmFunctionPath.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmFunctionPath.java index 61f212a92ea0..88e65203a9bd 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmFunctionPath.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmFunctionPath.java @@ -147,8 +147,8 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - function.appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + function.appendHqlString( hql ); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmIndexAggregateFunction.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmIndexAggregateFunction.java index 263797216301..032be2716c2c 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmIndexAggregateFunction.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmIndexAggregateFunction.java @@ -113,9 +113,9 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append(functionName).append( "(" ); - getLhs().appendHqlString( sb ); - sb.append( ')' ); + public void appendHqlString(StringBuilder hql) { + hql.append(functionName).append( "(" ); + getLhs().appendHqlString( hql ); + hql.append( ')' ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmIndexedCollectionAccessPath.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmIndexedCollectionAccessPath.java index 10e59cea7547..0e3764ef81fc 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmIndexedCollectionAccessPath.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmIndexedCollectionAccessPath.java @@ -91,10 +91,10 @@ public SqmTreatedPath treatAs(EntityDomainType treatTarge } @Override - public void appendHqlString(StringBuilder sb) { - getLhs().appendHqlString( sb ); - sb.append( '[' ); - selectorExpression.appendHqlString( sb ); - sb.append( ']' ); + public void appendHqlString(StringBuilder hql) { + getLhs().appendHqlString( hql ); + hql.append( '[' ); + selectorExpression.appendHqlString( hql ); + hql.append( ']' ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmMapEntryReference.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmMapEntryReference.java index 498e41c1cbec..0f3de408de1f 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmMapEntryReference.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmMapEntryReference.java @@ -135,10 +135,10 @@ public NodeBuilder nodeBuilder() { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "entry(" ); - mapPath.appendHqlString( sb ); - sb.append( ')' ); + public void appendHqlString(StringBuilder hql) { + hql.append( "entry(" ); + mapPath.appendHqlString( hql ); + hql.append( ')' ); } // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedBagJoin.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedBagJoin.java index aa065f5b77b1..39e68f885825 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedBagJoin.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedBagJoin.java @@ -118,12 +118,12 @@ public SqmPathSource getResolvedModel() { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "treat(" ); - wrappedPath.appendHqlString( sb ); - sb.append( " as " ); - sb.append( treatTarget.getTypeName() ); - sb.append( ')' ); + public void appendHqlString(StringBuilder hql) { + hql.append( "treat(" ); + wrappedPath.appendHqlString( hql ); + hql.append( " as " ); + hql.append( treatTarget.getTypeName() ); + hql.append( ')' ); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedCrossJoin.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedCrossJoin.java index e9f885f98a07..2677eaf3d3e8 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedCrossJoin.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedCrossJoin.java @@ -90,12 +90,12 @@ public SqmPathSource getResolvedModel() { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "treat(" ); - wrappedPath.appendHqlString( sb ); - sb.append( " as " ); - sb.append( treatTarget.getName() ); - sb.append( ')' ); + public void appendHqlString(StringBuilder hql) { + hql.append( "treat(" ); + wrappedPath.appendHqlString( hql ); + hql.append( " as " ); + hql.append( treatTarget.getName() ); + hql.append( ')' ); } @SuppressWarnings({ "rawtypes", "unchecked" }) diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedEmbeddedValuedSimplePath.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedEmbeddedValuedSimplePath.java index 0140d8191c1c..a33901a2c4d7 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedEmbeddedValuedSimplePath.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedEmbeddedValuedSimplePath.java @@ -109,11 +109,11 @@ public SqmPath resolvePathPart(String name, boolean isTerminal, SqmCreationSt } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "treat(" ); - wrappedPath.appendHqlString( sb ); - sb.append( " as " ); - sb.append( treatTarget.getTypeName() ); - sb.append( ')' ); + public void appendHqlString(StringBuilder hql) { + hql.append( "treat(" ); + wrappedPath.appendHqlString( hql ); + hql.append( " as " ); + hql.append( treatTarget.getTypeName() ); + hql.append( ')' ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedEntityJoin.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedEntityJoin.java index 8a3d0797b67f..c34d5a2863ff 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedEntityJoin.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedEntityJoin.java @@ -96,11 +96,11 @@ public EntityDomainType getReferencedPathSource() { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "treat(" ); - wrappedPath.appendHqlString( sb ); - sb.append( " as " ); - sb.append( treatTarget.getName() ); - sb.append( ')' ); + public void appendHqlString(StringBuilder hql) { + hql.append( "treat(" ); + wrappedPath.appendHqlString( hql ); + hql.append( " as " ); + hql.append( treatTarget.getName() ); + hql.append( ')' ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedEntityValuedSimplePath.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedEntityValuedSimplePath.java index bfe67d57108c..4a3756d5b127 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedEntityValuedSimplePath.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedEntityValuedSimplePath.java @@ -134,11 +134,11 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "treat(" ); - wrappedPath.appendHqlString( sb ); - sb.append( " as " ); - sb.append( treatTarget.getName() ); - sb.append( ')' ); + public void appendHqlString(StringBuilder hql) { + hql.append( "treat(" ); + wrappedPath.appendHqlString( hql ); + hql.append( " as " ); + hql.append( treatTarget.getName() ); + hql.append( ')' ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedListJoin.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedListJoin.java index 3f18fb05c302..5e167dd55122 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedListJoin.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedListJoin.java @@ -149,11 +149,11 @@ public SqmTreatedListJoin on(Predicate... restrictions) { @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "treat(" ); - wrappedPath.appendHqlString( sb ); - sb.append( " as " ); - sb.append( treatTarget.getTypeName() ); - sb.append( ')' ); + public void appendHqlString(StringBuilder hql) { + hql.append( "treat(" ); + wrappedPath.appendHqlString( hql ); + hql.append( " as " ); + hql.append( treatTarget.getTypeName() ); + hql.append( ')' ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedMapJoin.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedMapJoin.java index c064d8314032..b657d3a8f6b8 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedMapJoin.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedMapJoin.java @@ -159,11 +159,11 @@ public SqmTreatedMapJoin on(Predicate... restrictions) { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "treat(" ); - wrappedPath.appendHqlString( sb ); - sb.append( " as " ); - sb.append( treatTarget.getTypeName() ); - sb.append( ')' ); + public void appendHqlString(StringBuilder hql) { + hql.append( "treat(" ); + wrappedPath.appendHqlString( hql ); + hql.append( " as " ); + hql.append( treatTarget.getTypeName() ); + hql.append( ')' ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedPluralPartJoin.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedPluralPartJoin.java index d18bcf6e563c..3b2f4541b30c 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedPluralPartJoin.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedPluralPartJoin.java @@ -138,11 +138,11 @@ public SqmTreatedPluralPartJoin treatAs(EntityDomainType treatTarget, String ali @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "treat(" ); - wrappedPath.appendHqlString( sb ); - sb.append( " as " ); - sb.append( treatTarget.getName() ); - sb.append( ')' ); + public void appendHqlString(StringBuilder hql) { + hql.append( "treat(" ); + wrappedPath.appendHqlString( hql ); + hql.append( " as " ); + hql.append( treatTarget.getName() ); + hql.append( ')' ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedRoot.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedRoot.java index 6b1c0ba3e7f8..e409ae0be6af 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedRoot.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedRoot.java @@ -116,11 +116,11 @@ public SqmPath resolvePathPart( } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "treat(" ); - wrappedPath.appendHqlString( sb ); - sb.append( " as " ); - sb.append( treatTarget.getName() ); - sb.append( ')' ); + public void appendHqlString(StringBuilder hql) { + hql.append( "treat(" ); + wrappedPath.appendHqlString( hql ); + hql.append( " as " ); + hql.append( treatTarget.getName() ); + hql.append( ')' ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedSetJoin.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedSetJoin.java index 021267deea4d..6d3571f321db 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedSetJoin.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedSetJoin.java @@ -118,12 +118,12 @@ public SqmPathSource getResolvedModel() { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "treat(" ); - wrappedPath.appendHqlString( sb ); - sb.append( " as " ); - sb.append( treatTarget.getTypeName() ); - sb.append( ')' ); + public void appendHqlString(StringBuilder hql) { + hql.append( "treat(" ); + wrappedPath.appendHqlString( hql ); + hql.append( " as " ); + hql.append( treatTarget.getTypeName() ); + hql.append( ')' ); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedSimplePath.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedSimplePath.java index 9db9c5d7df95..e494b97e664f 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedSimplePath.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedSimplePath.java @@ -134,11 +134,11 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "treat(" ); - wrappedPath.appendHqlString( sb ); - sb.append( " as " ); - sb.append( treatTarget.getName() ); - sb.append( ')' ); + public void appendHqlString(StringBuilder hql) { + hql.append( "treat(" ); + wrappedPath.appendHqlString( hql ); + hql.append( " as " ); + hql.append( treatTarget.getName() ); + hql.append( ')' ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedSingularJoin.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedSingularJoin.java index 51805b525af3..f3edec3fd476 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedSingularJoin.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmTreatedSingularJoin.java @@ -119,12 +119,12 @@ public SqmPathSource getResolvedModel() { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "treat(" ); - wrappedPath.appendHqlString( sb ); - sb.append( " as " ); - sb.append( treatTarget.getTypeName() ); - sb.append( ')' ); + public void appendHqlString(StringBuilder hql) { + hql.append( "treat(" ); + wrappedPath.appendHqlString( hql ); + hql.append( " as " ); + hql.append( treatTarget.getTypeName() ); + hql.append( ')' ); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/AsWrapperSqmExpression.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/AsWrapperSqmExpression.java index ca6f66f5229e..827b2548fabf 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/AsWrapperSqmExpression.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/AsWrapperSqmExpression.java @@ -23,12 +23,12 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "wrap(" ); - expression.appendHqlString( sb ); - sb.append( " as " ); - sb.append( getNodeType().getReturnedClassName() ); - sb.append( ")" ); + public void appendHqlString(StringBuilder hql) { + hql.append( "wrap(" ); + expression.appendHqlString( hql ); + hql.append( " as " ); + hql.append( getNodeType().getReturnedClassName() ); + hql.append( ")" ); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/JpaCriteriaParameter.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/JpaCriteriaParameter.java index 89ee5cf734aa..dbfae821daff 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/JpaCriteriaParameter.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/JpaCriteriaParameter.java @@ -29,6 +29,7 @@ public class JpaCriteriaParameter extends AbstractSqmExpression implements SqmParameter, QueryParameterImplementor { + private final String name; private boolean allowsMultiValuedBinding; @@ -49,10 +50,7 @@ protected JpaCriteriaParameter(JpaCriteriaParameter original) { } private static SqmExpressible toSqmType(BindableType type, NodeBuilder nodeBuilder) { - if ( type == null ) { - return null; - } - return type.resolveExpressible( nodeBuilder ); + return type == null ? null : type.resolveExpressible( nodeBuilder ); } @Override @@ -110,12 +108,7 @@ public void applyAnticipatedType(BindableType type) { @Override public SqmParameter copy() { - return new JpaCriteriaParameter<>( - getName(), - getAnticipatedType(), - allowMultiValuedBinding(), - nodeBuilder() - ); + return new JpaCriteriaParameter<>( getName(), getAnticipatedType(), allowMultiValuedBinding(), nodeBuilder() ); } @Override @@ -145,9 +138,8 @@ public NamedCallableQueryMemento.ParameterMemento toMemento() { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( ':' ); - sb.append( getName() ); + public void appendHqlString(StringBuilder hql) { + hql.append( ':' ).append( getName() ); } @Override @@ -155,19 +147,20 @@ public boolean equals(Object o) { if ( this == o ) { return true; } - if ( o == null || getClass() != o.getClass() ) { + else if ( o == null ) { + return false; + } + else if ( !(o instanceof JpaCriteriaParameter that) ) { return false; } - JpaCriteriaParameter parameter = (JpaCriteriaParameter) o; - return Objects.equals( name, parameter.name ); + else { + return Objects.equals( name, that.name ); + } } @Override public int hashCode() { - if ( name == null ) { - return super.hashCode(); - } - return Objects.hash( name ); + return name == null ? super.hashCode() : Objects.hash( name ); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmAliasedNodeRef.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmAliasedNodeRef.java index 64ca8b68e549..3abe8027e595 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmAliasedNodeRef.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmAliasedNodeRef.java @@ -70,12 +70,12 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { + public void appendHqlString(StringBuilder hql) { if ( navigablePath == null ) { - sb.append( position ); + hql.append( position ); } else { - sb.append( navigablePath.getLocalName() ); + hql.append( navigablePath.getLocalName() ); } } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmAny.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmAny.java index 1397bb9fb94a..9cce87982ea8 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmAny.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmAny.java @@ -61,9 +61,9 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "any " ); - subquery.appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + hql.append( "any " ); + subquery.appendHqlString( hql ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmAnyDiscriminatorValue.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmAnyDiscriminatorValue.java index 1cad32036250..6f8ae540714d 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmAnyDiscriminatorValue.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmAnyDiscriminatorValue.java @@ -91,7 +91,7 @@ public SqmPath resolveIndexedAccess( } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( getEntityValue().getName() ); + public void appendHqlString(StringBuilder hql) { + hql.append( getEntityValue().getName() ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmBinaryArithmetic.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmBinaryArithmetic.java index 33704036591a..e95bf5e493d2 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmBinaryArithmetic.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmBinaryArithmetic.java @@ -134,12 +134,12 @@ public String asLoggableText() { } @Override - public void appendHqlString(StringBuilder sb) { - lhsOperand.appendHqlString( sb ); - sb.append( ' ' ); - sb.append( operator.getOperatorSqlText() ); - sb.append( ' ' ); - rhsOperand.appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + lhsOperand.appendHqlString( hql ); + hql.append( ' ' ); + hql.append( operator.getOperatorSqlText() ); + hql.append( ' ' ); + rhsOperand.appendHqlString( hql ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmByUnit.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmByUnit.java index a21ca1ff2855..d6b665ff32ad 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmByUnit.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmByUnit.java @@ -58,9 +58,9 @@ public X accept(SemanticQueryWalker walker) { return walker.visitByUnit( this ); } @Override - public void appendHqlString(StringBuilder sb) { - duration.appendHqlString( sb ); - sb.append( " by " ); - sb.append( unit.getUnit() ); + public void appendHqlString(StringBuilder hql) { + duration.appendHqlString( hql ); + hql.append( " by " ); + hql.append( unit.getUnit() ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmCaseSearched.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmCaseSearched.java index 17aebe2a4a35..7d0db3c71656 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmCaseSearched.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmCaseSearched.java @@ -140,20 +140,20 @@ public SqmExpression getResult() { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "case" ); + public void appendHqlString(StringBuilder hql) { + hql.append( "case" ); for ( WhenFragment whenFragment : whenFragments ) { - sb.append( " when " ); - whenFragment.predicate.appendHqlString( sb ); - sb.append( " then " ); - whenFragment.result.appendHqlString( sb ); + hql.append( " when " ); + whenFragment.predicate.appendHqlString( hql ); + hql.append( " then " ); + whenFragment.result.appendHqlString( hql ); } if ( otherwise != null ) { - sb.append( " else " ); - otherwise.appendHqlString( sb ); + hql.append( " else " ); + otherwise.appendHqlString( hql ); } - sb.append( " end" ); + hql.append( " end" ); } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmCaseSimple.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmCaseSimple.java index 89ce82fefd11..ce82c924edc8 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmCaseSimple.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmCaseSimple.java @@ -153,21 +153,21 @@ public SqmExpression getResult() { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "case " ); - fixture.appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + hql.append( "case " ); + fixture.appendHqlString( hql ); for ( WhenFragment whenFragment : whenFragments ) { - sb.append( " when " ); - whenFragment.checkValue.appendHqlString( sb ); - sb.append( " then " ); - whenFragment.result.appendHqlString( sb ); + hql.append( " when " ); + whenFragment.checkValue.appendHqlString( hql ); + hql.append( " then " ); + whenFragment.result.appendHqlString( hql ); } if ( otherwise != null ) { - sb.append( " else " ); - otherwise.appendHqlString( sb ); + hql.append( " else " ); + otherwise.appendHqlString( hql ); } - sb.append( " end" ); + hql.append( " end" ); } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmCastTarget.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmCastTarget.java index 9a9e0f961332..144ef5835fda 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmCastTarget.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmCastTarget.java @@ -93,21 +93,21 @@ public SqmExpressible getNodeType() { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( type.getTypeName() ); + public void appendHqlString(StringBuilder hql) { + hql.append( type.getTypeName() ); if ( precision != null ) { - sb.append( '(' ); - sb.append( precision ); + hql.append( '(' ); + hql.append( precision ); if ( scale != null ) { - sb.append( ", " ); - sb.append( scale ); + hql.append( ", " ); + hql.append( scale ); } - sb.append( ')' ); + hql.append( ')' ); } else if ( length != null ) { - sb.append( '(' ); - sb.append( length ); - sb.append( ')' ); + hql.append( '(' ); + hql.append( length ); + hql.append( ')' ); } } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmCoalesce.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmCoalesce.java index a7695e78b3cc..5a28bbff7aa9 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmCoalesce.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmCoalesce.java @@ -86,14 +86,14 @@ public String asLoggableText() { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "coalesce(" ); - arguments.get( 0 ).appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + hql.append( "coalesce(" ); + arguments.get( 0 ).appendHqlString( hql ); for ( int i = 1; i < arguments.size(); i++ ) { - sb.append(", "); - arguments.get( i ).appendHqlString( sb ); + hql.append(", "); + arguments.get( i ).appendHqlString( hql ); } - sb.append( ')' ); + hql.append( ')' ); } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmCollation.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmCollation.java index 67a455a82a85..56f1923b3c50 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmCollation.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmCollation.java @@ -37,7 +37,7 @@ public R accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( getLiteralValue() ); + public void appendHqlString(StringBuilder hql) { + hql.append( getLiteralValue() ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmCollectionSize.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmCollectionSize.java index 979e58270694..4d4ce14311dd 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmCollectionSize.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmCollectionSize.java @@ -61,10 +61,10 @@ public String asLoggableText() { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "size(" ); - pluralPath.appendHqlString( sb ); - sb.append( ')' ); + public void appendHqlString(StringBuilder hql) { + hql.append( "size(" ); + pluralPath.appendHqlString( hql ); + hql.append( ')' ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmDistinct.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmDistinct.java index 769cc6ee370d..0cd834771257 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmDistinct.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmDistinct.java @@ -53,8 +53,8 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "distinct " ); - expression.appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + hql.append( "distinct " ); + expression.appendHqlString( hql ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmDurationUnit.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmDurationUnit.java index d3988ed00faf..db0aef3a7e92 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmDurationUnit.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmDurationUnit.java @@ -50,7 +50,7 @@ public SqmExpressible getNodeType() { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( unit ); + public void appendHqlString(StringBuilder hql) { + hql.append( unit ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmEnumLiteral.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmEnumLiteral.java index d4f35e3d3117..d36bb1ccf432 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmEnumLiteral.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmEnumLiteral.java @@ -160,9 +160,9 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( enumValue.getDeclaringClass().getTypeName() ); - sb.append( '.' ); - sb.append( enumValueName ); + public void appendHqlString(StringBuilder hql) { + hql.append( enumValue.getDeclaringClass().getTypeName() ); + hql.append( '.' ); + hql.append( enumValueName ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmEvery.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmEvery.java index c65c9c80ddd3..f81c784c4491 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmEvery.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmEvery.java @@ -57,9 +57,9 @@ public X accept(SemanticQueryWalker walker) { return walker.visitEvery( this ); } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "all " ); - subquery.appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + hql.append( "all " ); + subquery.appendHqlString( hql ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmExtractUnit.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmExtractUnit.java index 92b7b0785d68..df88c9fe25d3 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmExtractUnit.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmExtractUnit.java @@ -50,7 +50,7 @@ public SqmExpressible getNodeType() { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( unit ); + public void appendHqlString(StringBuilder hql) { + hql.append( unit ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmFieldLiteral.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmFieldLiteral.java index 6252d7843663..59b2ff1053d3 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmFieldLiteral.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmFieldLiteral.java @@ -139,8 +139,8 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - SqmLiteral.appendHqlString( sb, getJavaTypeDescriptor(), getValue() ); + public void appendHqlString(StringBuilder hql) { + SqmLiteral.appendHqlString( hql, getJavaTypeDescriptor(), getValue() ); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmFormat.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmFormat.java index bc38d0b7bafc..eb203959b0f2 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmFormat.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmFormat.java @@ -74,7 +74,7 @@ public R accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( getLiteralValue() ); + public void appendHqlString(StringBuilder hql) { + hql.append( getLiteralValue() ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmFunction.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmFunction.java index 3bf5a30b5e9a..d81f2c690869 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmFunction.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmFunction.java @@ -68,105 +68,105 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { + public void appendHqlString(StringBuilder hql) { // Special case a few functions with special syntax for rendering... // Unless we introduce dedicated SqmXXX classes that override this method, we have to render it this way switch ( functionName ) { case "cast": { - sb.append( "cast(" ); - arguments.get( 0 ).appendHqlString( sb ); - sb.append( " as " ); - arguments.get( 1 ).appendHqlString( sb ); - sb.append( ')' ); + hql.append( "cast(" ); + arguments.get( 0 ).appendHqlString( hql ); + hql.append( " as " ); + arguments.get( 1 ).appendHqlString( hql ); + hql.append( ')' ); break; } case "extract": { - sb.append( "extract(" ); - arguments.get( 0 ).appendHqlString( sb ); - sb.append( " from " ); - arguments.get( 1 ).appendHqlString( sb ); - sb.append( ')' ); + hql.append( "extract(" ); + arguments.get( 0 ).appendHqlString( hql ); + hql.append( " from " ); + arguments.get( 1 ).appendHqlString( hql ); + hql.append( ')' ); break; } case "format": { - sb.append( "format(" ); - arguments.get( 0 ).appendHqlString( sb ); - sb.append( " as " ); - arguments.get( 1 ).appendHqlString( sb ); - sb.append( ')' ); + hql.append( "format(" ); + arguments.get( 0 ).appendHqlString( hql ); + hql.append( " as " ); + arguments.get( 1 ).appendHqlString( hql ); + hql.append( ')' ); break; } case "overlay": { - sb.append( "overlay(" ); - arguments.get( 0 ).appendHqlString( sb ); - sb.append( " placing " ); - arguments.get( 1 ).appendHqlString( sb ); - sb.append( " from " ); - arguments.get( 2 ).appendHqlString( sb ); + hql.append( "overlay(" ); + arguments.get( 0 ).appendHqlString( hql ); + hql.append( " placing " ); + arguments.get( 1 ).appendHqlString( hql ); + hql.append( " from " ); + arguments.get( 2 ).appendHqlString( hql ); if ( arguments.size() == 4 ) { - sb.append( " for " ); - arguments.get( 3 ).appendHqlString( sb ); + hql.append( " for " ); + arguments.get( 3 ).appendHqlString( hql ); } - sb.append( ')' ); + hql.append( ')' ); break; } case "trim": { - sb.append( "trim(" ); + hql.append( "trim(" ); switch ( arguments.size() ) { case 1: - arguments.get( 0 ).appendHqlString( sb ); + arguments.get( 0 ).appendHqlString( hql ); break; case 2: - arguments.get( 0 ).appendHqlString( sb ); - sb.append( " from " ); - arguments.get( 1 ).appendHqlString( sb ); + arguments.get( 0 ).appendHqlString( hql ); + hql.append( " from " ); + arguments.get( 1 ).appendHqlString( hql ); break; case 3: - arguments.get( 0 ).appendHqlString( sb ); - sb.append( ' ' ); - arguments.get( 1 ).appendHqlString( sb ); - sb.append( " from " ); - arguments.get( 3 ).appendHqlString( sb ); + arguments.get( 0 ).appendHqlString( hql ); + hql.append( ' ' ); + arguments.get( 1 ).appendHqlString( hql ); + hql.append( " from " ); + arguments.get( 3 ).appendHqlString( hql ); break; } - sb.append( ')' ); + hql.append( ')' ); break; } case "pad": { - sb.append( "pad(" ); - arguments.get( 0 ).appendHqlString( sb ); - sb.append( " with" ); + hql.append( "pad(" ); + arguments.get( 0 ).appendHqlString( hql ); + hql.append( " with" ); for ( int i = 1; i < arguments.size(); i++ ) { - sb.append( ' ' ); - arguments.get( i ).appendHqlString( sb ); + hql.append( ' ' ); + arguments.get( i ).appendHqlString( hql ); } - sb.append( ')' ); + hql.append( ')' ); break; } case "position": { - sb.append( "position(" ); - arguments.get( 0 ).appendHqlString( sb ); - sb.append( " in " ); - arguments.get( 1 ).appendHqlString( sb ); - sb.append( ')' ); + hql.append( "position(" ); + arguments.get( 0 ).appendHqlString( hql ); + hql.append( " in " ); + arguments.get( 1 ).appendHqlString( hql ); + hql.append( ')' ); break; } default: { - sb.append( functionName ); + hql.append( functionName ); if ( arguments.isEmpty() ) { if ( functionDescriptor.alwaysIncludesParentheses() ) { - sb.append( "()" ); + hql.append( "()" ); } return; } - sb.append( '(' ); - arguments.get( 0 ).appendHqlString( sb ); + hql.append( '(' ); + arguments.get( 0 ).appendHqlString( hql ); for ( int i = 1; i < arguments.size(); i++ ) { - sb.append( ", " ); - arguments.get( i ).appendHqlString( sb ); + hql.append( ", " ); + arguments.get( i ).appendHqlString( hql ); } - sb.append( ')' ); + hql.append( ')' ); break; } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmHqlNumericLiteral.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmHqlNumericLiteral.java index 1f99e76f4ab4..fca94bc9b95a 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmHqlNumericLiteral.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmHqlNumericLiteral.java @@ -80,24 +80,24 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( literalValue ); + public void appendHqlString(StringBuilder hql) { + hql.append( literalValue ); switch ( typeCategory ) { case BIG_DECIMAL: { - sb.append( "bd" ); + hql.append( "bd" ); break; } case FLOAT: { - sb.append( "f" ); + hql.append( "f" ); break; } case BIG_INTEGER: { - sb.append( "bi" ); + hql.append( "bi" ); break; } case LONG: { - sb.append( "l" ); + hql.append( "l" ); break; } default: { diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJpaCriteriaParameterWrapper.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJpaCriteriaParameterWrapper.java index a6da602650cb..9fc078fa1c30 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJpaCriteriaParameterWrapper.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJpaCriteriaParameterWrapper.java @@ -117,8 +117,8 @@ public void visitSubSelectableNodes(Consumer> jpaSelectionC } @Override - public void appendHqlString(StringBuilder sb) { - jpaCriteriaParameter.appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + jpaCriteriaParameter.appendHqlString( hql ); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJsonExistsExpression.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJsonExistsExpression.java index 2cc09575f104..be6260ef1bb1 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJsonExistsExpression.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJsonExistsExpression.java @@ -172,18 +172,18 @@ public Expression convertToSqlAst(SqmToSqlAstConverter walker) { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "json_exists(" ); - getArguments().get( 0 ).appendHqlString( sb ); - sb.append( ',' ); - getArguments().get( 1 ).appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + hql.append( "json_exists(" ); + getArguments().get( 0 ).appendHqlString( hql ); + hql.append( ',' ); + getArguments().get( 1 ).appendHqlString( hql ); - appendPassingExpressionHqlString( sb ); + appendPassingExpressionHqlString( hql ); switch ( errorBehavior ) { - case ERROR -> sb.append( " error on error" ); - case TRUE -> sb.append( " true on error" ); - case FALSE -> sb.append( " false on error" ); + case ERROR -> hql.append( " error on error" ); + case TRUE -> hql.append( " true on error" ); + case FALSE -> hql.append( " false on error" ); } - sb.append( ')' ); + hql.append( ')' ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJsonNullBehavior.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJsonNullBehavior.java index 4586583aaf32..7b5e47ba8025 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJsonNullBehavior.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJsonNullBehavior.java @@ -50,12 +50,12 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { + public void appendHqlString(StringBuilder hql) { if ( this == NULL ) { - sb.append( " null on null" ); + hql.append( " null on null" ); } else { - sb.append( " absent on null" ); + hql.append( " absent on null" ); } } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJsonObjectAggUniqueKeysBehavior.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJsonObjectAggUniqueKeysBehavior.java index 65b3c829ccff..07344a841393 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJsonObjectAggUniqueKeysBehavior.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJsonObjectAggUniqueKeysBehavior.java @@ -50,12 +50,12 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { + public void appendHqlString(StringBuilder hql) { if ( this == WITH ) { - sb.append( " with unique keys" ); + hql.append( " with unique keys" ); } else { - sb.append( " without unique keys" ); + hql.append( " without unique keys" ); } } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJsonQueryExpression.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJsonQueryExpression.java index 3f2b16d7dbf5..03e48477202e 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJsonQueryExpression.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJsonQueryExpression.java @@ -264,30 +264,30 @@ public Expression convertToSqlAst(SqmToSqlAstConverter walker) { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "json_query(" ); - getArguments().get( 0 ).appendHqlString( sb ); - sb.append( ',' ); - getArguments().get( 1 ).appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + hql.append( "json_query(" ); + getArguments().get( 0 ).appendHqlString( hql ); + hql.append( ',' ); + getArguments().get( 1 ).appendHqlString( hql ); - appendPassingExpressionHqlString( sb ); + appendPassingExpressionHqlString( hql ); switch ( wrapMode ) { - case WITH_WRAPPER -> sb.append( " with wrapper" ); - case WITHOUT_WRAPPER -> sb.append( " without wrapper" ); - case WITH_CONDITIONAL_WRAPPER -> sb.append( " with conditional wrapper" ); + case WITH_WRAPPER -> hql.append( " with wrapper" ); + case WITHOUT_WRAPPER -> hql.append( " without wrapper" ); + case WITH_CONDITIONAL_WRAPPER -> hql.append( " with conditional wrapper" ); } switch ( errorBehavior ) { - case NULL -> sb.append( " null on error" ); - case ERROR -> sb.append( " error on error" ); - case EMPTY_ARRAY -> sb.append( " empty array on error" ); - case EMPTY_OBJECT -> sb.append( " empty object on error" ); + case NULL -> hql.append( " null on error" ); + case ERROR -> hql.append( " error on error" ); + case EMPTY_ARRAY -> hql.append( " empty array on error" ); + case EMPTY_OBJECT -> hql.append( " empty object on error" ); } switch ( emptyBehavior ) { - case NULL -> sb.append( " null on empty" ); - case ERROR -> sb.append( " error on empty" ); - case EMPTY_ARRAY -> sb.append( " empty array on empty" ); - case EMPTY_OBJECT -> sb.append( " empty object on empty" ); + case NULL -> hql.append( " null on empty" ); + case ERROR -> hql.append( " error on empty" ); + case EMPTY_ARRAY -> hql.append( " empty array on empty" ); + case EMPTY_OBJECT -> hql.append( " empty object on empty" ); } - sb.append( ')' ); + hql.append( ')' ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJsonTableFunction.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJsonTableFunction.java index 01b5b95f3de7..50b98560f94e 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJsonTableFunction.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJsonTableFunction.java @@ -990,8 +990,8 @@ public NodeBuilder nodeBuilder() { } @Override - public void appendHqlString(StringBuilder sb) { - appendColumnsToHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + appendColumnsToHqlString( hql ); } } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJsonValueExpression.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJsonValueExpression.java index 695a87b247d9..7f83e839b54f 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJsonValueExpression.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmJsonValueExpression.java @@ -244,35 +244,35 @@ public Expression convertToSqlAst(SqmToSqlAstConverter walker) { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "json_value(" ); - getArguments().get( 0 ).appendHqlString( sb ); - sb.append( ',' ); - getArguments().get( 1 ).appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + hql.append( "json_value(" ); + getArguments().get( 0 ).appendHqlString( hql ); + hql.append( ',' ); + getArguments().get( 1 ).appendHqlString( hql ); - appendPassingExpressionHqlString( sb ); + appendPassingExpressionHqlString( hql ); if ( getArguments().size() > 2 ) { - sb.append( " returning " ); - getArguments().get( 2 ).appendHqlString( sb ); + hql.append( " returning " ); + getArguments().get( 2 ).appendHqlString( hql ); } switch ( errorBehavior ) { - case NULL -> sb.append( " null on error" ); - case ERROR -> sb.append( " error on error" ); + case NULL -> hql.append( " null on error" ); + case ERROR -> hql.append( " error on error" ); case DEFAULT -> { - sb.append( " default " ); - errorDefaultExpression.appendHqlString( sb ); - sb.append( " on error" ); + hql.append( " default " ); + errorDefaultExpression.appendHqlString( hql ); + hql.append( " on error" ); } } switch ( emptyBehavior ) { - case NULL -> sb.append( " null on empty" ); - case ERROR -> sb.append( " error on empty" ); + case NULL -> hql.append( " null on empty" ); + case ERROR -> hql.append( " error on empty" ); case DEFAULT -> { - sb.append( " default " ); - emptyDefaultExpression.appendHqlString( sb ); - sb.append( " on empty" ); + hql.append( " default " ); + emptyDefaultExpression.appendHqlString( hql ); + hql.append( " on empty" ); } } - sb.append( ')' ); + hql.append( ')' ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmLiteral.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmLiteral.java index 7dac8205b1fd..9647c9cf2d12 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmLiteral.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmLiteral.java @@ -71,8 +71,8 @@ public String asLoggableText() { } @Override - public void appendHqlString(StringBuilder sb) { - appendHqlString( sb, getJavaTypeDescriptor(), getLiteralValue() ); + public void appendHqlString(StringBuilder hql) { + appendHqlString( hql, getJavaTypeDescriptor(), getLiteralValue() ); } public static void appendHqlString(StringBuilder sb, JavaType javaType, @Nullable T value) { diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmLiteralEmbeddableType.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmLiteralEmbeddableType.java index bad4f0f4f38d..5c885a951015 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmLiteralEmbeddableType.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmLiteralEmbeddableType.java @@ -86,7 +86,7 @@ public SqmPath resolveIndexedAccess( } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( embeddableDomainType.getTypeName() ); + public void appendHqlString(StringBuilder hql) { + hql.append( embeddableDomainType.getTypeName() ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmLiteralEntityType.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmLiteralEntityType.java index c0796ef36a8e..a27a6574bf2e 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmLiteralEntityType.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmLiteralEntityType.java @@ -98,8 +98,8 @@ public SqmPath resolveIndexedAccess( } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( entityType.getName() ); + public void appendHqlString(StringBuilder hql) { + hql.append( entityType.getName() ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmLiteralNull.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmLiteralNull.java index 988ddf6cad16..ff3fba24df39 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmLiteralNull.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmLiteralNull.java @@ -53,7 +53,7 @@ public String asLoggableText() { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "null" ); + public void appendHqlString(StringBuilder hql) { + hql.append( "null" ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmModifiedSubQueryExpression.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmModifiedSubQueryExpression.java index cb79ef0ccf2a..6f84754f83e3 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmModifiedSubQueryExpression.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmModifiedSubQueryExpression.java @@ -81,10 +81,10 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( modifier ); - sb.append( " (" ); - subQuery.appendHqlString( sb ); - sb.append( ')' ); + public void appendHqlString(StringBuilder hql) { + hql.append( modifier ); + hql.append( " (" ); + subQuery.appendHqlString( hql ); + hql.append( ')' ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmNamedExpression.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmNamedExpression.java index cdd67c3fe283..a67878490768 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmNamedExpression.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmNamedExpression.java @@ -54,9 +54,9 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - expression.appendHqlString( sb ); - sb.append( " as " ); - sb.append( name ); + public void appendHqlString(StringBuilder hql) { + expression.appendHqlString( hql ); + hql.append( " as " ); + hql.append( name ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmNamedParameter.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmNamedParameter.java index 5fe8d104ae67..7f309900c27a 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmNamedParameter.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmNamedParameter.java @@ -75,9 +75,9 @@ public SqmParameter copy() { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( ':' ); - sb.append( getName() ); + public void appendHqlString(StringBuilder hql) { + hql.append( ':' ); + hql.append( getName() ); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmOver.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmOver.java index 3e043d751fcf..003542810c0b 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmOver.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmOver.java @@ -96,10 +96,10 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - expression.appendHqlString( sb ); - sb.append( " over (" ); - window.appendHqlString( sb ); - sb.append( ')' ); + public void appendHqlString(StringBuilder hql) { + expression.appendHqlString( hql ); + hql.append( " over (" ); + window.appendHqlString( hql ); + hql.append( ')' ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmOverflow.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmOverflow.java index dde085641330..e62f94ed5dad 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmOverflow.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmOverflow.java @@ -59,20 +59,20 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - separatorExpression.appendHqlString( sb ); - sb.append( " on overflow " ); + public void appendHqlString(StringBuilder hql) { + separatorExpression.appendHqlString( hql ); + hql.append( " on overflow " ); if ( fillerExpression == null ) { - sb.append( "error" ); + hql.append( "error" ); } else { - sb.append( "truncate " ); - fillerExpression.appendHqlString( sb ); + hql.append( "truncate " ); + fillerExpression.appendHqlString( hql ); if ( withCount ) { - sb.append( " with count" ); + hql.append( " with count" ); } else { - sb.append( " without count" ); + hql.append( " without count" ); } } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmParameterizedEntityType.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmParameterizedEntityType.java index c94f1ac3d98c..3762e2c1d2ea 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmParameterizedEntityType.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmParameterizedEntityType.java @@ -58,10 +58,10 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "type(" ); - discriminatorSource.appendHqlString( sb ); - sb.append( ')' ); + public void appendHqlString(StringBuilder hql) { + hql.append( "type(" ); + discriminatorSource.appendHqlString( hql ); + hql.append( ')' ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmPositionalParameter.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmPositionalParameter.java index c7a0d69cf8ba..47c117123924 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmPositionalParameter.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmPositionalParameter.java @@ -78,9 +78,9 @@ public String asLoggableText() { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( '?' ); - sb.append( getPosition() ); + public void appendHqlString(StringBuilder hql) { + hql.append( '?' ); + hql.append( getPosition() ); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmSelfRenderingExpression.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmSelfRenderingExpression.java index 42893d6869cf..2ef938a27fb7 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmSelfRenderingExpression.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmSelfRenderingExpression.java @@ -47,7 +47,7 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { + public void appendHqlString(StringBuilder hql) { throw new UnsupportedOperationException(); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmSetReturningFunction.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmSetReturningFunction.java index d4e98d4d335a..aa132422f6d7 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmSetReturningFunction.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmSetReturningFunction.java @@ -78,19 +78,19 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( functionName ); + public void appendHqlString(StringBuilder hql) { + hql.append( functionName ); if ( arguments.isEmpty() ) { - sb.append( "()" ); + hql.append( "()" ); return; } - sb.append( '(' ); - arguments.get( 0 ).appendHqlString( sb ); + hql.append( '(' ); + arguments.get( 0 ).appendHqlString( hql ); for ( int i = 1; i < arguments.size(); i++ ) { - sb.append( ", " ); - arguments.get( i ).appendHqlString( sb ); + hql.append( ", " ); + arguments.get( i ).appendHqlString( hql ); } - sb.append( ')' ); + hql.append( ')' ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmStar.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmStar.java index 35d99465442c..65d0220197fc 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmStar.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmStar.java @@ -31,8 +31,8 @@ public X accept(SemanticQueryWalker walker) { return walker.visitStar( this ); } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "*" ); + public void appendHqlString(StringBuilder hql) { + hql.append( "*" ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmSummarization.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmSummarization.java index 64777fe4da4d..507b7a9e2d3b 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmSummarization.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmSummarization.java @@ -65,15 +65,15 @@ public enum Kind { CUBE } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( kind ); - sb.append( " (" ); - groupings.get( 0 ).appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + hql.append( kind ); + hql.append( " (" ); + groupings.get( 0 ).appendHqlString( hql ); for ( int i = 1; i < groupings.size(); i++ ) { - sb.append(", "); - groupings.get( i ).appendHqlString( sb ); + hql.append(", "); + groupings.get( i ).appendHqlString( hql ); } - sb.append( ')' ); + hql.append( ')' ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmToDuration.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmToDuration.java index 6bdb0ccf2562..b2f2ebc2c0af 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmToDuration.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmToDuration.java @@ -64,9 +64,9 @@ public String asLoggableText() { } @Override - public void appendHqlString(StringBuilder sb) { - magnitude.appendHqlString( sb ); - sb.append( ' ' ); - sb.append( unit.getUnit() ); + public void appendHqlString(StringBuilder hql) { + magnitude.appendHqlString( hql ); + hql.append( ' ' ); + hql.append( unit.getUnit() ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmTrimSpecification.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmTrimSpecification.java index 4bb1a1e739a4..702b9f54597c 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmTrimSpecification.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmTrimSpecification.java @@ -51,7 +51,7 @@ public SqmExpressible getNodeType() { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( specification ); + public void appendHqlString(StringBuilder hql) { + hql.append( specification ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmTuple.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmTuple.java index bd1c8ac7b027..7290557ed3b8 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmTuple.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmTuple.java @@ -83,14 +83,14 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( '(' ); - groupedExpressions.get( 0 ).appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + hql.append( '(' ); + groupedExpressions.get( 0 ).appendHqlString( hql ); for ( int i = 1; i < groupedExpressions.size(); i++ ) { - sb.append(", "); - groupedExpressions.get( i ).appendHqlString( sb ); + hql.append(", "); + groupedExpressions.get( i ).appendHqlString( hql ); } - sb.append( ')' ); + hql.append( ')' ); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmUnaryOperation.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmUnaryOperation.java index 66bbbcf2d91c..d7773ee7c94c 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmUnaryOperation.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmUnaryOperation.java @@ -72,8 +72,8 @@ public String asLoggableText() { return ( operation == UnaryArithmeticOperator.UNARY_MINUS ? '-' : '+' ) + operand.asLoggableText(); } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( operation == UnaryArithmeticOperator.UNARY_MINUS ? '-' : '+' ); - operand.appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + hql.append( operation == UnaryArithmeticOperator.UNARY_MINUS ? '-' : '+' ); + operand.appendHqlString( hql ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmWindow.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmWindow.java index 62644fd80e6c..b8171fd4b9f9 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmWindow.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmWindow.java @@ -198,27 +198,27 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { + public void appendHqlString(StringBuilder hql) { boolean needsWhitespace = false; if ( !this.partitions.isEmpty() ) { needsWhitespace = true; - sb.append( "partition by " ); - this.partitions.get( 0 ).appendHqlString( sb ); + hql.append( "partition by " ); + this.partitions.get( 0 ).appendHqlString( hql ); for ( int i = 1; i < this.partitions.size(); i++ ) { - sb.append( ',' ); - this.partitions.get( i ).appendHqlString( sb ); + hql.append( ',' ); + this.partitions.get( i ).appendHqlString( hql ); } } if ( !orderList.isEmpty() ) { if ( needsWhitespace ) { - sb.append( ' ' ); + hql.append( ' ' ); } needsWhitespace = true; - sb.append( "order by " ); - orderList.get( 0 ).appendHqlString( sb ); + hql.append( "order by " ); + orderList.get( 0 ).appendHqlString( hql ); for ( int i = 1; i < orderList.size(); i++ ) { - sb.append( ',' ); - orderList.get( i ).appendHqlString( sb ); + hql.append( ',' ); + orderList.get( i ).appendHqlString( hql ); } } if ( mode == RANGE && startKind == UNBOUNDED_PRECEDING && endKind == CURRENT_ROW && exclusion == NO_OTHERS ) { @@ -226,37 +226,37 @@ public void appendHqlString(StringBuilder sb) { } else { if ( needsWhitespace ) { - sb.append( ' ' ); + hql.append( ' ' ); } switch ( mode ) { case GROUPS: - sb.append( "groups " ); + hql.append( "groups " ); break; case RANGE: - sb.append( "range " ); + hql.append( "range " ); break; case ROWS: - sb.append( "rows " ); + hql.append( "rows " ); break; } if ( endKind == CURRENT_ROW ) { - renderFrameKind( sb, startKind, startExpression ); + renderFrameKind( hql, startKind, startExpression ); } else { - sb.append( "between " ); - renderFrameKind( sb, startKind, startExpression ); - sb.append( " and " ); - renderFrameKind( sb, endKind, endExpression ); + hql.append( "between " ); + renderFrameKind( hql, startKind, startExpression ); + hql.append( " and " ); + renderFrameKind( hql, endKind, endExpression ); } switch ( exclusion ) { case TIES: - sb.append( " exclude ties" ); + hql.append( " exclude ties" ); break; case CURRENT_ROW: - sb.append( " exclude current row" ); + hql.append( " exclude current row" ); break; case GROUP: - sb.append( " exclude group" ); + hql.append( " exclude group" ); break; } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmXmlAttributesExpression.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmXmlAttributesExpression.java index 738070c85d3c..292da0ff6ae8 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmXmlAttributesExpression.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmXmlAttributesExpression.java @@ -80,15 +80,15 @@ public SqmXmlAttributesExpression copy(SqmCopyContext context) { } @Override - public void appendHqlString(StringBuilder sb) { + public void appendHqlString(StringBuilder hql) { String separator = "xmlattributes("; for ( Map.Entry> entry : attributes.entrySet() ) { - sb.append( separator ); - entry.getValue().appendHqlString( sb ); - sb.append( " as " ); - sb.append( entry.getKey() ); + hql.append( separator ); + entry.getValue().appendHqlString( hql ); + hql.append( " as " ); + hql.append( entry.getKey() ); separator = ", "; } - sb.append( ')' ); + hql.append( ')' ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmXmlElementExpression.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmXmlElementExpression.java index 8e7daf2104bc..817d897b0699 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmXmlElementExpression.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmXmlElementExpression.java @@ -115,14 +115,14 @@ public SqmXmlElementExpression copy(SqmCopyContext context) { } @Override - public void appendHqlString(StringBuilder sb) { + public void appendHqlString(StringBuilder hql) { final List> arguments = getArguments(); - sb.append( "xmlelement(name " ); - arguments.get( 0 ).appendHqlString( sb ); + hql.append( "xmlelement(name " ); + arguments.get( 0 ).appendHqlString( hql ); for ( int i = 1; i < arguments.size(); i++ ) { - sb.append( ',' ); - arguments.get( i ).appendHqlString( sb ); + hql.append( ',' ); + arguments.get( i ).appendHqlString( hql ); } - sb.append( ')' ); + hql.append( ')' ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmXmlTableFunction.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmXmlTableFunction.java index 2612f56c868b..b3e17050c19d 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmXmlTableFunction.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmXmlTableFunction.java @@ -170,13 +170,13 @@ public SqmXmlTableFunction ordinalityColumn(String columnName) { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "xmltable(" ); - getArguments().get( 0 ).appendHqlString( sb ); - sb.append( " passing " ); - getArguments().get( 1 ).appendHqlString( sb ); - columns.appendHqlString( sb ); - sb.append( ')' ); + public void appendHqlString(StringBuilder hql) { + hql.append( "xmltable(" ); + getArguments().get( 0 ).appendHqlString( hql ); + hql.append( " passing " ); + getArguments().get( 1 ).appendHqlString( hql ); + columns.appendHqlString( hql ); + hql.append( ')' ); } private void checkTypeResolved() { @@ -445,11 +445,11 @@ private void addColumn(ColumnDefinition columnDefinition) { } @Override - public void appendHqlString(StringBuilder sb) { + public void appendHqlString(StringBuilder hql) { String separator = " columns "; for ( ColumnDefinition columnDefinition : columnDefinitions ) { - sb.append( separator ); - columnDefinition.appendHqlString( sb ); + hql.append( separator ); + columnDefinition.appendHqlString( hql ); separator = ", "; } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/ValueBindJpaCriteriaParameter.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/ValueBindJpaCriteriaParameter.java index 644f9853bd75..b6d60ffce6dd 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/ValueBindJpaCriteriaParameter.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/ValueBindJpaCriteriaParameter.java @@ -16,10 +16,7 @@ public class ValueBindJpaCriteriaParameter extends JpaCriteriaParameter{ private final T value; - public ValueBindJpaCriteriaParameter( - BindableType type, - T value, - NodeBuilder nodeBuilder) { + public ValueBindJpaCriteriaParameter(BindableType type, T value, NodeBuilder nodeBuilder) { super( null, type, false, nodeBuilder ); assert value == null || type == null || type.isInstance( value ); this.value = value; @@ -33,10 +30,9 @@ private ValueBindJpaCriteriaParameter(ValueBindJpaCriteriaParameter original) @Override public ValueBindJpaCriteriaParameter copy(SqmCopyContext context) { final ValueBindJpaCriteriaParameter existing = context.getCopy( this ); - if ( existing != null ) { - return existing; - } - return context.registerCopy( this, new ValueBindJpaCriteriaParameter<>( this ) ); + return existing != null + ? existing + : context.registerCopy( this, new ValueBindJpaCriteriaParameter<>( this ) ); } public T getValue() { @@ -44,8 +40,8 @@ public T getValue() { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( value ); + public void appendHqlString(StringBuilder hql) { + hql.append( value ); } @Override @@ -60,9 +56,6 @@ public int hashCode() { @Override public int compareTo(SqmParameter anotherParameter) { - if ( this == anotherParameter ) { - return 0; - } - return 1; + return this == anotherParameter ? 0 : 1; } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/insert/AbstractSqmInsertStatement.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/insert/AbstractSqmInsertStatement.java index 81c01754989e..28fb9503f530 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/insert/AbstractSqmInsertStatement.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/insert/AbstractSqmInsertStatement.java @@ -178,18 +178,18 @@ public JpaCriteriaInsert onConflict(@Nullable JpaConflictClause conflictCl } @Override - public void appendHqlString(StringBuilder sb) { - appendHqlCteString( sb ); - sb.append( "insert into " ); - sb.append( getTarget().getEntityName() ); + public void appendHqlString(StringBuilder hql) { + appendHqlCteString( hql ); + hql.append( "insert into " ); + hql.append( getTarget().getEntityName() ); if ( insertionTargetPaths != null && !insertionTargetPaths.isEmpty() ) { - sb.append( '(' ); - insertionTargetPaths.get( 0 ).appendHqlString( sb ); + hql.append( '(' ); + insertionTargetPaths.get( 0 ).appendHqlString( hql ); for ( int i = 1; i < insertionTargetPaths.size(); i++ ) { - sb.append( ", " ); - insertionTargetPaths.get( i ).appendHqlString( sb ); + hql.append( ", " ); + insertionTargetPaths.get( i ).appendHqlString( hql ); } - sb.append( ')' ); + hql.append( ')' ); } } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/insert/SqmConflictClause.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/insert/SqmConflictClause.java index f8826cc2193f..43a4776d0cce 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/insert/SqmConflictClause.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/insert/SqmConflictClause.java @@ -177,26 +177,26 @@ public X accept(SemanticQueryWalker walker) { return walker.visitConflictClause( this ); } - public void appendHqlString(StringBuilder sb) { - sb.append( " on conflict" ); + public void appendHqlString(StringBuilder hql) { + hql.append( " on conflict" ); if ( constraintName != null ) { - sb.append( " on constraint " ); - sb.append( constraintName ); + hql.append( " on constraint " ); + hql.append( constraintName ); } else if ( !constraintPaths.isEmpty() ) { char separator = '('; for ( SqmPath path : constraintPaths ) { - sb.append( separator ); - appendUnqualifiedPath( sb, path ); + hql.append( separator ); + appendUnqualifiedPath( hql, path ); separator = ','; } - sb.append( ')' ); + hql.append( ')' ); } if ( updateAction == null ) { - sb.append( " do nothing" ); + hql.append( " do nothing" ); } else { - updateAction.appendHqlString( sb ); + updateAction.appendHqlString( hql ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/insert/SqmInsertSelectStatement.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/insert/SqmInsertSelectStatement.java index b57eef20eeb2..e0ad52cd38ca 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/insert/SqmInsertSelectStatement.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/insert/SqmInsertSelectStatement.java @@ -171,13 +171,13 @@ public SqmInsertSelectStatement onConflict(JpaConflictClause conflictClaus } @Override - public void appendHqlString(StringBuilder sb) { - super.appendHqlString( sb ); - sb.append( ' ' ); - selectQueryPart.appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + super.appendHqlString( hql ); + hql.append( ' ' ); + selectQueryPart.appendHqlString( hql ); final SqmConflictClause conflictClause = getConflictClause(); if ( conflictClause != null ) { - conflictClause.appendHqlString( sb ); + conflictClause.appendHqlString( hql ); } } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/insert/SqmInsertValuesStatement.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/insert/SqmInsertValuesStatement.java index f1086c156ef5..11280a3f12d8 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/insert/SqmInsertValuesStatement.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/insert/SqmInsertValuesStatement.java @@ -190,19 +190,19 @@ public SqmInsertValuesStatement onConflict(JpaConflictClause conflictClaus } @Override - public void appendHqlString(StringBuilder sb) { + public void appendHqlString(StringBuilder hql) { assert valuesList != null; - super.appendHqlString( sb ); - sb.append( " values (" ); - appendValues( valuesList.get( 0 ), sb ); + super.appendHqlString( hql ); + hql.append( " values (" ); + appendValues( valuesList.get( 0 ), hql ); for ( int i = 1; i < valuesList.size(); i++ ) { - sb.append( ", " ); - appendValues( valuesList.get( i ), sb ); + hql.append( ", " ); + appendValues( valuesList.get( i ), hql ); } - sb.append( ')' ); + hql.append( ')' ); final SqmConflictClause conflictClause = getConflictClause(); if ( conflictClause != null ) { - conflictClause.appendHqlString( sb ); + conflictClause.appendHqlString( hql ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmBetweenPredicate.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmBetweenPredicate.java index 6165ea9ec140..24ad4b721b01 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmBetweenPredicate.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmBetweenPredicate.java @@ -84,15 +84,15 @@ public T accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - expression.appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + expression.appendHqlString( hql ); if ( isNegated() ) { - sb.append( " not" ); + hql.append( " not" ); } - sb.append( " between " ); - lowerBound.appendHqlString( sb ); - sb.append( " and " ); - upperBound.appendHqlString( sb ); + hql.append( " between " ); + lowerBound.appendHqlString( hql ); + hql.append( " and " ); + upperBound.appendHqlString( hql ); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmBooleanExpressionPredicate.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmBooleanExpressionPredicate.java index 0beca4e04dcf..1df81c529501 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmBooleanExpressionPredicate.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmBooleanExpressionPredicate.java @@ -77,8 +77,8 @@ public List> getExpressions() { } @Override - public void appendHqlString(StringBuilder sb) { - booleanExpression.appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + booleanExpression.appendHqlString( hql ); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmComparisonPredicate.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmComparisonPredicate.java index b5c6c5636533..f657b103ccd0 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmComparisonPredicate.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmComparisonPredicate.java @@ -108,11 +108,11 @@ public T accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - leftHandExpression.appendHqlString( sb ); - sb.append( ' ' ); - sb.append( operator.sqlText() ); - sb.append( ' ' ); - rightHandExpression.appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + leftHandExpression.appendHqlString( hql ); + hql.append( ' ' ); + hql.append( operator.sqlText() ); + hql.append( ' ' ); + rightHandExpression.appendHqlString( hql ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmEmptinessPredicate.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmEmptinessPredicate.java index c28c42d6b70e..c02b4c8d4e22 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmEmptinessPredicate.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmEmptinessPredicate.java @@ -51,13 +51,13 @@ public T accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - pluralPath.appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + pluralPath.appendHqlString( hql ); if ( isNegated() ) { - sb.append( " is not empty" ); + hql.append( " is not empty" ); } else { - sb.append( " is empty" ); + hql.append( " is empty" ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmExistsPredicate.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmExistsPredicate.java index 554b809d23c4..36f387352ba5 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmExistsPredicate.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmExistsPredicate.java @@ -59,14 +59,14 @@ public T accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { + public void appendHqlString(StringBuilder hql) { if ( isNegated() ) { - sb.append( "not exists " ); + hql.append( "not exists " ); } else { - sb.append( "exists " ); + hql.append( "exists " ); } - expression.appendHqlString( sb ); + expression.appendHqlString( hql ); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmGroupedPredicate.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmGroupedPredicate.java index 4aa0caa4d1cd..13175038b9de 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmGroupedPredicate.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmGroupedPredicate.java @@ -67,9 +67,9 @@ public SqmPredicate not() { return new SqmNegatedPredicate( this, nodeBuilder() ); } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( '(' ); - subPredicate.appendHqlString( sb ); - sb.append( ')' ); + public void appendHqlString(StringBuilder hql) { + hql.append( '(' ); + subPredicate.appendHqlString( hql ); + hql.append( ')' ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmInListPredicate.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmInListPredicate.java index 798d5a2b2e68..cc01e5dd12d0 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmInListPredicate.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmInListPredicate.java @@ -146,18 +146,18 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - testExpression.appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + testExpression.appendHqlString( hql ); if ( isNegated() ) { - sb.append( " not" ); + hql.append( " not" ); } - sb.append( " in (" ); - listExpressions.get( 0 ).appendHqlString( sb ); + hql.append( " in (" ); + listExpressions.get( 0 ).appendHqlString( hql ); for ( int i = 1; i < listExpressions.size(); i++ ) { - sb.append( ", " ); - listExpressions.get( i ).appendHqlString( sb ); + hql.append( ", " ); + listExpressions.get( i ).appendHqlString( hql ); } - sb.append( ')' ); + hql.append( ')' ); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmInSubQueryPredicate.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmInSubQueryPredicate.java index 4768cd65e759..c9c5360e54db 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmInSubQueryPredicate.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmInSubQueryPredicate.java @@ -105,13 +105,13 @@ public SqmInPredicate value(JpaExpression value) { } @Override - public void appendHqlString(StringBuilder sb) { - testExpression.appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + testExpression.appendHqlString( hql ); if ( isNegated() ) { - sb.append( " not" ); + hql.append( " not" ); } - sb.append( " in " ); - subQueryExpression.appendHqlString( sb ); + hql.append( " in " ); + subQueryExpression.appendHqlString( hql ); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmJunctionPredicate.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmJunctionPredicate.java index 88696f669943..51e96b9a27f5 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmJunctionPredicate.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmJunctionPredicate.java @@ -103,14 +103,14 @@ public SqmPredicate not() { } @Override - public void appendHqlString(StringBuilder sb) { + public void appendHqlString(StringBuilder hql) { final String separator = booleanOperator == BooleanOperator.AND ? " and " : " or "; - appendJunctionHqlString( predicates.get( 0 ), sb ); + appendJunctionHqlString( predicates.get( 0 ), hql ); for ( int i = 1; i < predicates.size(); i++ ) { - sb.append( separator ); - appendJunctionHqlString( predicates.get( i ), sb ); + hql.append( separator ); + appendJunctionHqlString( predicates.get( i ), hql ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmLikePredicate.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmLikePredicate.java index d748c8607b9a..b139579b6953 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmLikePredicate.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmLikePredicate.java @@ -126,16 +126,16 @@ public T accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - matchExpression.appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + matchExpression.appendHqlString( hql ); if ( isNegated() ) { - sb.append( " not" ); + hql.append( " not" ); } - sb.append( " like " ); - pattern.appendHqlString( sb ); + hql.append( " like " ); + pattern.appendHqlString( hql ); if ( escapeCharacter != null ) { - sb.append( " escape " ); - escapeCharacter.appendHqlString( sb ); + hql.append( " escape " ); + escapeCharacter.appendHqlString( hql ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmMemberOfPredicate.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmMemberOfPredicate.java index 788207c82f00..00f29956eba4 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmMemberOfPredicate.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmMemberOfPredicate.java @@ -83,13 +83,13 @@ public T accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - leftHandExpression.appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + leftHandExpression.appendHqlString( hql ); if ( isNegated() ) { - sb.append( " not" ); + hql.append( " not" ); } - sb.append( " member of " ); - pluralPath.appendHqlString( sb ); + hql.append( " member of " ); + pluralPath.appendHqlString( hql ); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmNegatedPredicate.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmNegatedPredicate.java index 3368df71f31f..60515fed4ce8 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmNegatedPredicate.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmNegatedPredicate.java @@ -67,10 +67,10 @@ public T accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "not (" ); - wrappedPredicate.appendHqlString( sb ); - sb.append( ')' ); + public void appendHqlString(StringBuilder hql) { + hql.append( "not (" ); + wrappedPredicate.appendHqlString( hql ); + hql.append( ')' ); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmNullnessPredicate.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmNullnessPredicate.java index 64789cc63e7f..ac971c86a9fa 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmNullnessPredicate.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmNullnessPredicate.java @@ -52,13 +52,13 @@ public T accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - expression.appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + expression.appendHqlString( hql ); if ( isNegated() ) { - sb.append( " is not null" ); + hql.append( " is not null" ); } else { - sb.append( " is null" ); + hql.append( " is null" ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmTruthnessPredicate.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmTruthnessPredicate.java index dba0583a1c76..231bec5057da 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmTruthnessPredicate.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/predicate/SqmTruthnessPredicate.java @@ -55,13 +55,13 @@ public T accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - expression.appendHqlString( sb ); - sb.append(" is "); + public void appendHqlString(StringBuilder hql) { + expression.appendHqlString( hql ); + hql.append(" is "); if ( isNegated() ) { - sb.append( "not " ); + hql.append( "not " ); } - sb.append( getBooleanValue() ); + hql.append( getBooleanValue() ); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/AbstractSqmSelectQuery.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/AbstractSqmSelectQuery.java index f7139a175d7e..e35c97f8df35 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/AbstractSqmSelectQuery.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/AbstractSqmSelectQuery.java @@ -403,16 +403,16 @@ public SqmSelectQuery having(Predicate... predicates) { return this; } - public void appendHqlString(StringBuilder sb) { + public void appendHqlString(StringBuilder hql) { if ( !cteStatements.isEmpty() ) { - sb.append( "with " ); + hql.append( "with " ); for ( SqmCteStatement value : cteStatements.values() ) { - value.appendHqlString( sb ); - sb.append( ", " ); + value.appendHqlString( hql ); + hql.append( ", " ); } - sb.setLength( sb.length() - 2 ); + hql.setLength( hql.length() - 2 ); } - sqmQueryPart.appendHqlString( sb ); + sqmQueryPart.appendHqlString( hql ); } @SuppressWarnings("unchecked") diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmDynamicInstantiation.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmDynamicInstantiation.java index 4bf13a436f08..216eb9ecdc3a 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmDynamicInstantiation.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmDynamicInstantiation.java @@ -272,25 +272,25 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( "new " ); + public void appendHqlString(StringBuilder hql) { + hql.append( "new " ); if ( instantiationTarget.getNature() == LIST ) { - sb.append( "list" ); + hql.append( "list" ); } else if ( instantiationTarget.getNature() == MAP ) { - sb.append( "map" ); + hql.append( "map" ); } else { - sb.append( instantiationTarget.getTargetTypeDescriptor().getJavaTypeClass().getTypeName() ); + hql.append( instantiationTarget.getTargetTypeDescriptor().getJavaTypeClass().getTypeName() ); } - sb.append( '(' ); - arguments.get( 0 ).appendHqlString( sb ); + hql.append( '(' ); + arguments.get( 0 ).appendHqlString( hql ); for ( int i = 1; i < arguments.size(); i++ ) { - sb.append(", "); - arguments.get( i ).appendHqlString( sb ); + hql.append(", "); + arguments.get( i ).appendHqlString( hql ); } - sb.append( ')' ); + hql.append( ')' ); } @SuppressWarnings("unused") diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmDynamicInstantiationArgument.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmDynamicInstantiationArgument.java index 640e956fb780..84980532c616 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmDynamicInstantiationArgument.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmDynamicInstantiationArgument.java @@ -56,10 +56,10 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - selectableNode.appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + selectableNode.appendHqlString( hql ); if ( alias != null ) { - sb.append( " as " ).append( alias ); + hql.append( " as " ).append( alias ); } } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmJpaCompoundSelection.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmJpaCompoundSelection.java index 3be65d7f95a5..f4aeb4389bc2 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmJpaCompoundSelection.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmJpaCompoundSelection.java @@ -136,11 +136,11 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - selectableNodes.get( 0 ).appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + selectableNodes.get( 0 ).appendHqlString( hql ); for ( int i = 1; i < selectableNodes.size(); i++ ) { - sb.append(", "); - selectableNodes.get( i ).appendHqlString( sb ); + hql.append(", "); + selectableNodes.get( i ).appendHqlString( hql ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmQueryGroup.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmQueryGroup.java index 1ef41f26fbdd..018139ac4017 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmQueryGroup.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmQueryGroup.java @@ -221,15 +221,15 @@ private void validateFetchesMatch(SqmFrom firstFrom, SqmFrom from) { } @Override - public void appendHqlString(StringBuilder sb) { - appendQueryPart( queryParts.get( 0 ), sb ); + public void appendHqlString(StringBuilder hql) { + appendQueryPart( queryParts.get( 0 ), hql ); for ( int i = 1; i < queryParts.size(); i++ ) { - sb.append( ' ' ); - sb.append( setOperator.sqlString() ); - sb.append( ' ' ); - appendQueryPart( queryParts.get( i ), sb ); + hql.append( ' ' ); + hql.append( setOperator.sqlString() ); + hql.append( ' ' ); + appendQueryPart( queryParts.get( i ), hql ); } - super.appendHqlString( sb ); + super.appendHqlString( hql ); } private static void appendQueryPart(SqmQueryPart queryPart, StringBuilder sb) { diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmQueryPart.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmQueryPart.java index 2ef6d6546907..5d629846b796 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmQueryPart.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmQueryPart.java @@ -173,38 +173,38 @@ public JpaQueryPart setFetch(JpaExpression fetch, FetchClau public abstract void validateQueryStructureAndFetchOwners(); - public void appendHqlString(StringBuilder sb) { + public void appendHqlString(StringBuilder hql) { if ( orderByClause == null || orderByClause.getSortSpecifications().isEmpty() ) { return; } - sb.append( " order by " ); + hql.append( " order by " ); final List sortSpecifications = orderByClause.getSortSpecifications(); - sortSpecifications.get( 0 ).appendHqlString( sb ); + sortSpecifications.get( 0 ).appendHqlString( hql ); for ( int i = 1; i < sortSpecifications.size(); i++ ) { - sb.append( ", " ); - sortSpecifications.get( i ).appendHqlString( sb ); + hql.append( ", " ); + sortSpecifications.get( i ).appendHqlString( hql ); } if ( offsetExpression != null ) { - sb.append( " offset " ); - offsetExpression.appendHqlString( sb ); - sb.append( " rows " ); + hql.append( " offset " ); + offsetExpression.appendHqlString( hql ); + hql.append( " rows " ); } if ( fetchExpression != null ) { - sb.append( " fetch first " ); - fetchExpression.appendHqlString( sb ); + hql.append( " fetch first " ); + fetchExpression.appendHqlString( hql ); switch ( fetchClauseType ) { case ROWS_ONLY: - sb.append( " rows only" ); + hql.append( " rows only" ); break; case ROWS_WITH_TIES: - sb.append( " rows with ties" ); + hql.append( " rows with ties" ); break; case PERCENT_ONLY: - sb.append( " percent rows only" ); + hql.append( " percent rows only" ); break; case PERCENT_WITH_TIES: - sb.append( " percent rows with ties" ); + hql.append( " percent rows with ties" ); break; } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmQuerySpec.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmQuerySpec.java index 3b79cb808376..d5dd8a42aff4 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmQuerySpec.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmQuerySpec.java @@ -587,41 +587,41 @@ private void assertEmbeddableCollections(NavigablePath navigablePath, Embeddable } @Override - public void appendHqlString(StringBuilder sb) { + public void appendHqlString(StringBuilder hql) { if ( selectClause != null ) { - sb.append( "select " ); + hql.append( "select " ); if ( selectClause.isDistinct() ) { - sb.append( "distinct " ); + hql.append( "distinct " ); } final List> selections = selectClause.getSelections(); - selections.get( 0 ).appendHqlString( sb ); + selections.get( 0 ).appendHqlString( hql ); for ( int i = 1; i < selections.size(); i++ ) { - sb.append( ", " ); - selections.get( i ).appendHqlString( sb ); + hql.append( ", " ); + selections.get( i ).appendHqlString( hql ); } } if ( fromClause != null ) { - sb.append( " from" ); - fromClause.appendHqlString( sb ); + hql.append( " from" ); + fromClause.appendHqlString( hql ); } if ( whereClause != null && whereClause.getPredicate() != null ) { - sb.append( " where " ); - whereClause.getPredicate().appendHqlString( sb ); + hql.append( " where " ); + whereClause.getPredicate().appendHqlString( hql ); } if ( !groupByClauseExpressions.isEmpty() ) { - sb.append( " group by " ); - groupByClauseExpressions.get( 0 ).appendHqlString( sb ); + hql.append( " group by " ); + groupByClauseExpressions.get( 0 ).appendHqlString( hql ); for ( int i = 1; i < groupByClauseExpressions.size(); i++ ) { - sb.append( ", " ); - groupByClauseExpressions.get( i ).appendHqlString( sb ); + hql.append( ", " ); + groupByClauseExpressions.get( i ).appendHqlString( hql ); } } if ( havingClausePredicate != null ) { - sb.append( " having " ); - havingClausePredicate.appendHqlString( sb ); + hql.append( " having " ); + havingClausePredicate.appendHqlString( hql ); } - super.appendHqlString( sb ); + super.appendHqlString( hql ); } @Internal diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmSelection.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmSelection.java index 4de8dc98aaf9..329f37de05e0 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmSelection.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmSelection.java @@ -61,10 +61,10 @@ public X accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - selectableNode.appendHqlString( sb ); + public void appendHqlString(StringBuilder hql) { + selectableNode.appendHqlString( hql ); if ( alias != null ) { - sb.append( " as " ).append( alias ); + hql.append( " as " ).append( alias ); } } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmSubQuery.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmSubQuery.java index bde8f12ba25a..001c628335e1 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmSubQuery.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmSubQuery.java @@ -771,10 +771,10 @@ public T1 accept(SemanticQueryWalker walker) { } @Override - public void appendHqlString(StringBuilder sb) { - sb.append( '(' ); - super.appendHqlString( sb ); - sb.append( ')' ); + public void appendHqlString(StringBuilder hql) { + hql.append( '(' ); + super.appendHqlString( hql ); + hql.append( ')' ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/update/SqmUpdateStatement.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/update/SqmUpdateStatement.java index 862a382a433e..faeec00716c3 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/update/SqmUpdateStatement.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/update/SqmUpdateStatement.java @@ -271,19 +271,19 @@ public void applyAssignment(SqmAssignment assignment) { } @Override - public void appendHqlString(StringBuilder sb) { - appendHqlCteString( sb ); - sb.append( "update " ); + public void appendHqlString(StringBuilder hql) { + appendHqlCteString( hql ); + hql.append( "update " ); if ( versioned ) { - sb.append( "versioned " ); + hql.append( "versioned " ); } final SqmRoot root = getTarget(); - sb.append( root.getEntityName() ); - sb.append( ' ' ).append( root.resolveAlias() ); - SqmFromClause.appendJoins( root, sb ); - SqmFromClause.appendTreatJoins( root, sb ); - setClause.appendHqlString( sb ); + hql.append( root.getEntityName() ); + hql.append( ' ' ).append( root.resolveAlias() ); + SqmFromClause.appendJoins( root, hql ); + SqmFromClause.appendTreatJoins( root, hql ); + setClause.appendHqlString( hql ); - super.appendHqlString( sb ); + super.appendHqlString( hql ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/sql/exec/internal/JdbcCallFunctionReturnImpl.java b/hibernate-core/src/main/java/org/hibernate/sql/exec/internal/JdbcCallFunctionReturnImpl.java index 6c4d3bb9da79..30603d475103 100644 --- a/hibernate-core/src/main/java/org/hibernate/sql/exec/internal/JdbcCallFunctionReturnImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/sql/exec/internal/JdbcCallFunctionReturnImpl.java @@ -12,8 +12,11 @@ /** * @author Steve Ebersole */ -public class JdbcCallFunctionReturnImpl extends JdbcCallParameterRegistrationImpl implements JdbcCallFunctionReturn { - public JdbcCallFunctionReturnImpl( +public abstract class JdbcCallFunctionReturnImpl + extends JdbcCallParameterRegistrationImpl + implements JdbcCallFunctionReturn { + + protected JdbcCallFunctionReturnImpl( OutputableType ormType, JdbcCallParameterExtractorImpl parameterExtractor, JdbcCallRefCursorExtractorImpl refCursorExtractor) { @@ -27,4 +30,17 @@ public JdbcCallFunctionReturnImpl( refCursorExtractor ); } + + public static class RefCurserJdbcCallFunctionReturnImpl extends JdbcCallFunctionReturnImpl { + public RefCurserJdbcCallFunctionReturnImpl(JdbcCallRefCursorExtractorImpl refCursorExtractor) { + super( null, null, refCursorExtractor ); + } + } + + public static class RegularJdbcCallFunctionReturnImpl extends JdbcCallFunctionReturnImpl { + public RegularJdbcCallFunctionReturnImpl( + OutputableType ormType, JdbcCallParameterExtractorImpl parameterExtractor) { + super( ormType, parameterExtractor, null ); + } + } }