From ddf2ee578f16f5245ca6e2804c884318b64f3910 Mon Sep 17 00:00:00 2001 From: Gavin King Date: Sun, 8 Sep 2024 09:44:11 +0200 Subject: [PATCH 1/7] very minor cleanups in Dialect Signed-off-by: Gavin King --- .../java/org/hibernate/dialect/Dialect.java | 43 ++++++++++--------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java index c4130bc5b341..30fec4d934a9 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java @@ -632,11 +632,9 @@ protected String castType(int sqlTypeCode) { * @see AnsiSqlKeywords */ protected void registerDefaultKeywords() { - AnsiSqlKeywords keywords = new AnsiSqlKeywords(); - //Not using #registerKeyword as: - // # these are already lowercase - // # better efficiency of addAll as it can pre-size the collections - sqlKeywords.addAll( keywords.sql2003() ); + // Not using #registerKeyword() since these are already lowercase, + // better efficiency with addAll() as it can pre-size the collection + sqlKeywords.addAll( new AnsiSqlKeywords().sql2003() ); } /** @@ -673,13 +671,10 @@ protected DatabaseVersion getMinimumSupportedVersion() { */ protected Integer resolveSqlTypeCode(String columnTypeName, TypeConfiguration typeConfiguration) { final int parenthesisIndex = columnTypeName.lastIndexOf( '(' ); - final String baseTypeName; - if ( parenthesisIndex == -1 ) { - baseTypeName = columnTypeName; - } - else { - baseTypeName = columnTypeName.substring( 0, parenthesisIndex ).trim(); - } + final String baseTypeName = + parenthesisIndex == -1 + ? columnTypeName + : columnTypeName.substring( 0, parenthesisIndex ).trim(); return resolveSqlTypeCode( columnTypeName, baseTypeName, typeConfiguration ); } @@ -793,7 +788,7 @@ public String[] getDropEnumTypeCommand(Class> enumType) { * @return a SQL expression that will occur in a {@code check} constraint */ public String getCheckCondition(String columnName, String[] values) { - StringBuilder check = new StringBuilder(); + final StringBuilder check = new StringBuilder(); check.append( columnName ).append( " in (" ); String separator = ""; boolean nullIsValid = false; @@ -835,7 +830,7 @@ public String getCheckCondition(String columnName, long min, long max) { */ @Deprecated(since="6.5", forRemoval = true) public String getCheckCondition(String columnName, long[] values) { - Long[] boxedValues = new Long[values.length]; + final Long[] boxedValues = new Long[values.length]; for ( int i = 0; i valueSet, JdbcType jdb final boolean isCharacterJdbcType = isCharacterType( jdbcType.getJdbcTypeCode() ); assert isCharacterJdbcType || isIntegral( jdbcType.getJdbcTypeCode() ); - StringBuilder check = new StringBuilder(); + final StringBuilder check = new StringBuilder(); check.append( columnName ).append( " in (" ); String separator = ""; boolean nullIsValid = false; @@ -1679,18 +1674,24 @@ public String getFromDualForSelectOnly() { * for the trim character if {@code isWhitespace} * was false. * - * @param specification {@linkplain TrimSpec#LEADING leading}, {@linkplain TrimSpec#TRAILING trailing} + * @param specification + * {@linkplain TrimSpec#LEADING leading}, + * {@linkplain TrimSpec#TRAILING trailing}, * or {@linkplain TrimSpec#BOTH both} - * @param isWhitespace {@code true} if the trim character is a whitespace and can be omitted, - * {@code false} if it must be explicit and a ?2 placeholder should be included in the pattern + * + * @param isWhitespace + * {@code true} if trimming whitespace, and the ?2 + * placeholder for the trim character should be omitted, + * {@code false} if the trim character is explicit and + * the ?2 placeholder must be included in the pattern */ public String trimPattern(TrimSpec specification, boolean isWhitespace) { return "trim(" + specification + ( isWhitespace ? "" : " ?2" ) + " from ?1)"; } /** - * Whether the database supports adding a fractional interval to a timestamp, - * for example {@code timestamp + 0.5 second}. + * Whether the database supports adding a fractional interval + * to a timestamp, for example {@code timestamp + 0.5 second}. */ public boolean supportsFractionalTimestampArithmetic() { return true; From 0ceae0b358d559fb504967b53c93227509635b69 Mon Sep 17 00:00:00 2001 From: Gavin King Date: Sun, 8 Sep 2024 09:42:59 +0200 Subject: [PATCH 2/7] HHH-18585 move AfterUseAction and BeforeUseAction to an SPI package Signed-off-by: Gavin King --- .../org/hibernate/community/dialect/DerbyDialect.java | 2 +- .../hibernate/community/dialect/DerbyLegacyDialect.java | 2 +- .../org/hibernate/community/dialect/H2LegacyDialect.java | 2 +- .../hibernate/community/dialect/HSQLLegacyDialect.java | 4 ++-- .../org/hibernate/community/dialect/InformixDialect.java | 4 ++-- .../org/hibernate/community/dialect/MaxDBDialect.java | 4 ++-- .../hibernate/community/dialect/MySQLLegacyDialect.java | 4 ++-- .../hibernate/community/dialect/SingleStoreDialect.java | 4 ++-- .../org/hibernate/dialect/AbstractTransactSQLDialect.java | 4 ++-- .../src/main/java/org/hibernate/dialect/Dialect.java | 8 ++++---- .../org/hibernate/dialect/DialectDelegateWrapper.java | 4 ++-- .../src/main/java/org/hibernate/dialect/HSQLDialect.java | 4 ++-- .../src/main/java/org/hibernate/dialect/MySQLDialect.java | 4 ++-- .../temptable/AbstractDeleteExecutionDelegate.java | 1 + .../temptable/ExecuteWithTemporaryTableHelper.java | 2 ++ .../internal/temptable/GlobalTemporaryTableStrategy.java | 1 + .../internal/temptable/InsertExecutionDelegate.java | 1 + .../temptable/LocalTemporaryTableInsertStrategy.java | 1 + .../temptable/LocalTemporaryTableMutationStrategy.java | 1 + .../internal/temptable/PersistentTableStrategy.java | 1 + .../temptable/RestrictedDeleteExecutionDelegate.java | 1 + .../internal/temptable/SoftDeleteExecutionDelegate.java | 1 + .../internal/temptable/TableBasedDeleteHandler.java | 1 + .../internal/temptable/TableBasedInsertHandler.java | 1 + .../internal/temptable/TableBasedUpdateHandler.java | 1 + .../internal/temptable/UpdateExecutionDelegate.java | 1 + .../{internal/temptable => spi}/AfterUseAction.java | 2 +- .../{internal/temptable => spi}/BeforeUseAction.java | 2 +- 28 files changed, 41 insertions(+), 27 deletions(-) rename hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/{internal/temptable => spi}/AfterUseAction.java (80%) rename hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/{internal/temptable => spi}/BeforeUseAction.java (80%) diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DerbyDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DerbyDialect.java index 7485263944e5..b64369d16bf6 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DerbyDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DerbyDialect.java @@ -51,7 +51,7 @@ import org.hibernate.query.sqm.CastType; import org.hibernate.query.sqm.IntervalType; import org.hibernate.query.sqm.TemporalUnit; -import org.hibernate.query.sqm.mutation.internal.temptable.BeforeUseAction; +import org.hibernate.query.sqm.mutation.spi.BeforeUseAction; import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableMutationStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableInsertStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableMutationStrategy; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DerbyLegacyDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DerbyLegacyDialect.java index 412e4a694115..1cb9db7f5e74 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DerbyLegacyDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DerbyLegacyDialect.java @@ -49,7 +49,7 @@ import org.hibernate.query.sqm.CastType; import org.hibernate.query.sqm.IntervalType; import org.hibernate.query.sqm.TemporalUnit; -import org.hibernate.query.sqm.mutation.internal.temptable.BeforeUseAction; +import org.hibernate.query.sqm.mutation.spi.BeforeUseAction; import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableMutationStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableInsertStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableMutationStrategy; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/H2LegacyDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/H2LegacyDialect.java index 427dbce6311c..4303434877f5 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/H2LegacyDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/H2LegacyDialect.java @@ -52,7 +52,7 @@ import org.hibernate.query.sqm.IntervalType; import org.hibernate.dialect.NullOrdering; import org.hibernate.query.sqm.TemporalUnit; -import org.hibernate.query.sqm.mutation.internal.temptable.BeforeUseAction; +import org.hibernate.query.sqm.mutation.spi.BeforeUseAction; import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableInsertStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableMutationStrategy; import org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/HSQLLegacyDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/HSQLLegacyDialect.java index ebd56ea696a7..de940482641d 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/HSQLLegacyDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/HSQLLegacyDialect.java @@ -56,8 +56,8 @@ import org.hibernate.query.sqm.IntervalType; import org.hibernate.dialect.NullOrdering; import org.hibernate.query.sqm.TemporalUnit; -import org.hibernate.query.sqm.mutation.internal.temptable.AfterUseAction; -import org.hibernate.query.sqm.mutation.internal.temptable.BeforeUseAction; +import org.hibernate.query.sqm.mutation.spi.AfterUseAction; +import org.hibernate.query.sqm.mutation.spi.BeforeUseAction; import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableInsertStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableMutationStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableInsertStrategy; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/InformixDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/InformixDialect.java index f426e74de948..75716029cb39 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/InformixDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/InformixDialect.java @@ -51,8 +51,8 @@ import org.hibernate.query.spi.QueryParameterBindings; import org.hibernate.query.sqm.TemporalUnit; import org.hibernate.query.sqm.internal.DomainParameterXref; -import org.hibernate.query.sqm.mutation.internal.temptable.AfterUseAction; -import org.hibernate.query.sqm.mutation.internal.temptable.BeforeUseAction; +import org.hibernate.query.sqm.mutation.spi.AfterUseAction; +import org.hibernate.query.sqm.mutation.spi.BeforeUseAction; import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableInsertStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableMutationStrategy; import org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/MaxDBDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/MaxDBDialect.java index dc68105b42e2..6952e6299e81 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/MaxDBDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/MaxDBDialect.java @@ -23,8 +23,8 @@ import org.hibernate.metamodel.mapping.EntityMappingType; import org.hibernate.metamodel.spi.RuntimeModelCreationContext; import org.hibernate.query.sqm.TrimSpec; -import org.hibernate.query.sqm.mutation.internal.temptable.AfterUseAction; -import org.hibernate.query.sqm.mutation.internal.temptable.BeforeUseAction; +import org.hibernate.query.sqm.mutation.spi.AfterUseAction; +import org.hibernate.query.sqm.mutation.spi.BeforeUseAction; import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableInsertStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableMutationStrategy; import org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/MySQLLegacyDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/MySQLLegacyDialect.java index cdb0db1d7a9d..2221704f2887 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/MySQLLegacyDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/MySQLLegacyDialect.java @@ -47,8 +47,8 @@ import org.hibernate.dialect.NullOrdering; import org.hibernate.query.sqm.TemporalUnit; import org.hibernate.query.sqm.function.SqmFunctionRegistry; -import org.hibernate.query.sqm.mutation.internal.temptable.AfterUseAction; -import org.hibernate.query.sqm.mutation.internal.temptable.BeforeUseAction; +import org.hibernate.query.sqm.mutation.spi.AfterUseAction; +import org.hibernate.query.sqm.mutation.spi.BeforeUseAction; import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableInsertStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableMutationStrategy; import org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SingleStoreDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SingleStoreDialect.java index fe65d00361a2..72561d0aae3e 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SingleStoreDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SingleStoreDialect.java @@ -68,8 +68,8 @@ import org.hibernate.query.sqm.IntervalType; import org.hibernate.query.sqm.TemporalUnit; import org.hibernate.query.sqm.function.SqmFunctionRegistry; -import org.hibernate.query.sqm.mutation.internal.temptable.AfterUseAction; -import org.hibernate.query.sqm.mutation.internal.temptable.BeforeUseAction; +import org.hibernate.query.sqm.mutation.spi.AfterUseAction; +import org.hibernate.query.sqm.mutation.spi.BeforeUseAction; import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableInsertStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableMutationStrategy; import org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/AbstractTransactSQLDialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/AbstractTransactSQLDialect.java index 1a1228821b04..2b5f65447cca 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/AbstractTransactSQLDialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/AbstractTransactSQLDialect.java @@ -17,9 +17,9 @@ import org.hibernate.metamodel.mapping.EntityMappingType; import org.hibernate.metamodel.spi.RuntimeModelCreationContext; import org.hibernate.query.sqm.TrimSpec; -import org.hibernate.query.sqm.mutation.internal.temptable.AfterUseAction; +import org.hibernate.query.sqm.mutation.spi.AfterUseAction; import org.hibernate.dialect.temptable.TemporaryTable; -import org.hibernate.query.sqm.mutation.internal.temptable.BeforeUseAction; +import org.hibernate.query.sqm.mutation.spi.BeforeUseAction; import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableInsertStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableMutationStrategy; import org.hibernate.dialect.temptable.TemporaryTableKind; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java index 30fec4d934a9..d4d2593a6256 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java @@ -124,17 +124,17 @@ import org.hibernate.procedure.internal.StandardCallableStatementSupport; import org.hibernate.procedure.spi.CallableStatementSupport; import org.hibernate.query.Query; +import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.sqm.TemporalUnit; import org.hibernate.query.hql.HqlTranslator; import org.hibernate.query.spi.QueryOptions; import org.hibernate.query.sqm.CastType; -import org.hibernate.query.sqm.FetchClauseType; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; import org.hibernate.query.sqm.TrimSpec; -import org.hibernate.query.sqm.mutation.internal.temptable.AfterUseAction; -import org.hibernate.query.sqm.mutation.internal.temptable.BeforeUseAction; import org.hibernate.query.sqm.mutation.internal.temptable.PersistentTableInsertStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.PersistentTableMutationStrategy; +import org.hibernate.query.sqm.mutation.spi.AfterUseAction; +import org.hibernate.query.sqm.mutation.spi.BeforeUseAction; import org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy; import org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy; import org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategyProvider; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/DialectDelegateWrapper.java b/hibernate-core/src/main/java/org/hibernate/dialect/DialectDelegateWrapper.java index 41dc8ba8707f..3a904fd83d95 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/DialectDelegateWrapper.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/DialectDelegateWrapper.java @@ -64,8 +64,8 @@ import org.hibernate.query.sqm.IntervalType; import org.hibernate.query.sqm.TemporalUnit; import org.hibernate.query.sqm.TrimSpec; -import org.hibernate.query.sqm.mutation.internal.temptable.AfterUseAction; -import org.hibernate.query.sqm.mutation.internal.temptable.BeforeUseAction; +import org.hibernate.query.sqm.mutation.spi.AfterUseAction; +import org.hibernate.query.sqm.mutation.spi.BeforeUseAction; import org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy; import org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy; import org.hibernate.query.sqm.sql.SqmTranslatorFactory; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/HSQLDialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/HSQLDialect.java index 93dddfb8b8a7..967fbdc80897 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/HSQLDialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/HSQLDialect.java @@ -36,8 +36,8 @@ import org.hibernate.query.sqm.CastType; import org.hibernate.query.sqm.IntervalType; import org.hibernate.query.sqm.TemporalUnit; -import org.hibernate.query.sqm.mutation.internal.temptable.AfterUseAction; -import org.hibernate.query.sqm.mutation.internal.temptable.BeforeUseAction; +import org.hibernate.query.sqm.mutation.spi.AfterUseAction; +import org.hibernate.query.sqm.mutation.spi.BeforeUseAction; import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableInsertStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableMutationStrategy; import org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/MySQLDialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/MySQLDialect.java index e8e5a55c3d06..36917cbff21e 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/MySQLDialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/MySQLDialect.java @@ -51,8 +51,8 @@ import org.hibernate.query.sqm.IntervalType; import org.hibernate.query.sqm.TemporalUnit; import org.hibernate.query.sqm.function.SqmFunctionRegistry; -import org.hibernate.query.sqm.mutation.internal.temptable.AfterUseAction; -import org.hibernate.query.sqm.mutation.internal.temptable.BeforeUseAction; +import org.hibernate.query.sqm.mutation.spi.AfterUseAction; +import org.hibernate.query.sqm.mutation.spi.BeforeUseAction; import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableInsertStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableMutationStrategy; import org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy; diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/AbstractDeleteExecutionDelegate.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/AbstractDeleteExecutionDelegate.java index 26ba78db0d2a..8d9120def501 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/AbstractDeleteExecutionDelegate.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/AbstractDeleteExecutionDelegate.java @@ -15,6 +15,7 @@ import org.hibernate.query.spi.QueryParameterBindings; import org.hibernate.query.sqm.internal.DomainParameterXref; import org.hibernate.query.sqm.mutation.internal.MultiTableSqmMutationConverter; +import org.hibernate.query.sqm.mutation.spi.AfterUseAction; import org.hibernate.query.sqm.tree.delete.SqmDeleteStatement; /** diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/ExecuteWithTemporaryTableHelper.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/ExecuteWithTemporaryTableHelper.java index 9654a70a6565..f886e29fa2cf 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/ExecuteWithTemporaryTableHelper.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/ExecuteWithTemporaryTableHelper.java @@ -18,6 +18,8 @@ import org.hibernate.engine.jdbc.spi.JdbcServices; import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.engine.spi.SharedSessionContractImplementor; +import org.hibernate.query.sqm.mutation.spi.AfterUseAction; +import org.hibernate.query.sqm.mutation.spi.BeforeUseAction; import org.hibernate.resource.transaction.spi.IsolationDelegate; import org.hibernate.metamodel.mapping.BasicValuedMapping; import org.hibernate.metamodel.mapping.EntityMappingType; diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/GlobalTemporaryTableStrategy.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/GlobalTemporaryTableStrategy.java index a6584f88e4d6..435ba48bb405 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/GlobalTemporaryTableStrategy.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/GlobalTemporaryTableStrategy.java @@ -16,6 +16,7 @@ import org.hibernate.metamodel.mapping.EntityMappingType; import org.hibernate.metamodel.mapping.internal.MappingModelCreationProcess; +import org.hibernate.query.sqm.mutation.spi.AfterUseAction; import org.jboss.logging.Logger; /** diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/InsertExecutionDelegate.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/InsertExecutionDelegate.java index d62bd4199f19..e085e627acb5 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/InsertExecutionDelegate.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/InsertExecutionDelegate.java @@ -46,6 +46,7 @@ import org.hibernate.query.sqm.internal.DomainParameterXref; import org.hibernate.query.sqm.internal.SqmUtil; import org.hibernate.query.sqm.mutation.internal.MultiTableSqmMutationConverter; +import org.hibernate.query.sqm.mutation.spi.AfterUseAction; import org.hibernate.query.sqm.spi.SqmParameterMappingModelResolutionAccess; import org.hibernate.query.sqm.tree.expression.SqmParameter; import org.hibernate.sql.ast.tree.expression.ColumnReference; diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/LocalTemporaryTableInsertStrategy.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/LocalTemporaryTableInsertStrategy.java index 0c1b510f9a57..d8a1fe446811 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/LocalTemporaryTableInsertStrategy.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/LocalTemporaryTableInsertStrategy.java @@ -8,6 +8,7 @@ import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.query.spi.DomainQueryExecutionContext; import org.hibernate.query.sqm.internal.DomainParameterXref; +import org.hibernate.query.sqm.mutation.spi.AfterUseAction; import org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy; import org.hibernate.query.sqm.tree.insert.SqmInsertStatement; diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/LocalTemporaryTableMutationStrategy.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/LocalTemporaryTableMutationStrategy.java index 37537a7e4fee..bf2c3eb972a7 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/LocalTemporaryTableMutationStrategy.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/LocalTemporaryTableMutationStrategy.java @@ -8,6 +8,7 @@ import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.query.spi.DomainQueryExecutionContext; import org.hibernate.query.sqm.internal.DomainParameterXref; +import org.hibernate.query.sqm.mutation.spi.AfterUseAction; import org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy; import org.hibernate.query.sqm.tree.delete.SqmDeleteStatement; import org.hibernate.query.sqm.tree.update.SqmUpdateStatement; diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/PersistentTableStrategy.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/PersistentTableStrategy.java index 458b54af2775..23f4bcd1a63a 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/PersistentTableStrategy.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/PersistentTableStrategy.java @@ -16,6 +16,7 @@ import org.hibernate.metamodel.mapping.EntityMappingType; import org.hibernate.metamodel.mapping.internal.MappingModelCreationProcess; +import org.hibernate.query.sqm.mutation.spi.AfterUseAction; import org.jboss.logging.Logger; /** diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/RestrictedDeleteExecutionDelegate.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/RestrictedDeleteExecutionDelegate.java index 1a3785c1db95..c6eaa14c689d 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/RestrictedDeleteExecutionDelegate.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/RestrictedDeleteExecutionDelegate.java @@ -31,6 +31,7 @@ import org.hibernate.query.sqm.internal.SqmUtil; import org.hibernate.query.sqm.mutation.internal.SqmMutationStrategyHelper; import org.hibernate.query.sqm.mutation.internal.TableKeyExpressionCollector; +import org.hibernate.query.sqm.mutation.spi.AfterUseAction; import org.hibernate.query.sqm.spi.SqmParameterMappingModelResolutionAccess; import org.hibernate.query.sqm.tree.delete.SqmDeleteStatement; import org.hibernate.query.sqm.tree.expression.SqmParameter; diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/SoftDeleteExecutionDelegate.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/SoftDeleteExecutionDelegate.java index ae5890345f36..0922ac0f8438 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/SoftDeleteExecutionDelegate.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/SoftDeleteExecutionDelegate.java @@ -28,6 +28,7 @@ import org.hibernate.query.sqm.internal.SqmUtil; import org.hibernate.query.sqm.mutation.internal.MultiTableSqmMutationConverter; import org.hibernate.query.sqm.mutation.internal.SqmMutationStrategyHelper; +import org.hibernate.query.sqm.mutation.spi.AfterUseAction; import org.hibernate.query.sqm.spi.SqmParameterMappingModelResolutionAccess; import org.hibernate.query.sqm.tree.delete.SqmDeleteStatement; import org.hibernate.query.sqm.tree.expression.SqmParameter; diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/TableBasedDeleteHandler.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/TableBasedDeleteHandler.java index 8765d9f6f6b0..a41fb0d99c4f 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/TableBasedDeleteHandler.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/TableBasedDeleteHandler.java @@ -13,6 +13,7 @@ import org.hibernate.query.sqm.internal.DomainParameterXref; import org.hibernate.query.sqm.mutation.internal.DeleteHandler; import org.hibernate.query.sqm.mutation.spi.AbstractMutationHandler; +import org.hibernate.query.sqm.mutation.spi.AfterUseAction; import org.hibernate.query.sqm.tree.delete.SqmDeleteStatement; import org.jboss.logging.Logger; diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/TableBasedInsertHandler.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/TableBasedInsertHandler.java index a3a5ddb7be3d..f5e05c74c8c8 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/TableBasedInsertHandler.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/TableBasedInsertHandler.java @@ -26,6 +26,7 @@ import org.hibernate.query.sqm.mutation.internal.InsertHandler; import org.hibernate.query.sqm.mutation.internal.MultiTableSqmMutationConverter; import org.hibernate.query.sqm.mutation.internal.SqmInsertStrategyHelper; +import org.hibernate.query.sqm.mutation.spi.AfterUseAction; import org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter; import org.hibernate.query.sqm.tree.insert.SqmInsertSelectStatement; import org.hibernate.query.sqm.tree.insert.SqmInsertStatement; diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/TableBasedUpdateHandler.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/TableBasedUpdateHandler.java index 29574c877aa0..10eb83210a7f 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/TableBasedUpdateHandler.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/TableBasedUpdateHandler.java @@ -16,6 +16,7 @@ import org.hibernate.query.sqm.mutation.internal.MultiTableSqmMutationConverter; import org.hibernate.query.sqm.mutation.internal.UpdateHandler; import org.hibernate.query.sqm.mutation.spi.AbstractMutationHandler; +import org.hibernate.query.sqm.mutation.spi.AfterUseAction; import org.hibernate.query.sqm.tree.update.SqmUpdateStatement; import org.hibernate.sql.ast.tree.from.TableGroup; import org.hibernate.sql.ast.tree.from.TableReference; diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/UpdateExecutionDelegate.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/UpdateExecutionDelegate.java index 2d97bef6b5fe..33785c015f54 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/UpdateExecutionDelegate.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/UpdateExecutionDelegate.java @@ -31,6 +31,7 @@ import org.hibernate.query.sqm.internal.SqmUtil; import org.hibernate.query.sqm.mutation.internal.MultiTableSqmMutationConverter; import org.hibernate.query.sqm.mutation.internal.TableKeyExpressionCollector; +import org.hibernate.query.sqm.mutation.spi.AfterUseAction; import org.hibernate.query.sqm.spi.SqmParameterMappingModelResolutionAccess; import org.hibernate.query.sqm.tree.expression.SqmParameter; import org.hibernate.sql.ast.SqlAstTranslatorFactory; diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/AfterUseAction.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/spi/AfterUseAction.java similarity index 80% rename from hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/AfterUseAction.java rename to hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/spi/AfterUseAction.java index 9efb0bd3931d..08fdc9fe01b0 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/AfterUseAction.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/spi/AfterUseAction.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: LGPL-2.1-or-later * Copyright Red Hat Inc. and Hibernate Authors */ -package org.hibernate.query.sqm.mutation.internal.temptable; +package org.hibernate.query.sqm.mutation.spi; /** * Actions to perform in regard to a temporary table after each use. diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/BeforeUseAction.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/spi/BeforeUseAction.java similarity index 80% rename from hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/BeforeUseAction.java rename to hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/spi/BeforeUseAction.java index aff07f857aae..5f0db639ae61 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/BeforeUseAction.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/spi/BeforeUseAction.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: LGPL-2.1-or-later * Copyright Red Hat Inc. and Hibernate Authors */ -package org.hibernate.query.sqm.mutation.internal.temptable; +package org.hibernate.query.sqm.mutation.spi; /** * Actions to perform in regards to a temporary table prior to each use. From 26cb193e9e1f6382d7209fd8a4c2de4ddd24f6c7 Mon Sep 17 00:00:00 2001 From: Gavin King Date: Sat, 7 Sep 2024 21:36:29 +0200 Subject: [PATCH 3/7] HHH-17068 introduce JoinType to replace use of SqmJoinType in criteria API fix the layer-breakage Signed-off-by: Gavin King --- .../org/hibernate/query/criteria/JpaFrom.java | 64 ++++++++++- .../org/hibernate/query/sqm/JoinType.java | 35 ++++++ .../hibernate/query/sqm/tree/SqmJoinType.java | 100 ++++++++++-------- .../criteria/CriteriaQualifiedJoinTest.java | 4 +- .../query/SubQueryInFromEmbeddedIdTests.java | 8 +- .../query/SubQueryInFromIdClassTests.java | 8 +- ...bQueryInFromInverseOneEmbeddedIdTests.java | 8 +- .../SubQueryInFromInverseOneIdClassTests.java | 8 +- .../query/SubQueryInFromInverseOneTests.java | 8 +- ...bQueryInFromManyToManyEmbeddedIdTests.java | 8 +- .../SubQueryInFromManyToManyIdClassTests.java | 8 +- .../query/SubQueryInFromManyToManyTests.java | 8 +- ...ubQueryInFromOneToManyEmbeddedIdTests.java | 8 +- .../SubQueryInFromOneToManyIdClassTests.java | 8 +- .../query/SubQueryInFromOneToManyTests.java | 8 +- .../orm/test/query/SubQueryInFromTests.java | 12 +-- .../criteria/BasicCriteriaExecutionTests.java | 4 +- .../query/criteria/CriteriaGetJoinsTest.java | 7 +- .../orm/test/query/hql/DeleteJoinTests.java | 4 +- .../orm/test/query/hql/UpdateJoinTests.java | 4 +- 20 files changed, 211 insertions(+), 111 deletions(-) create mode 100644 hibernate-core/src/main/java/org/hibernate/query/sqm/JoinType.java diff --git a/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaFrom.java b/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaFrom.java index 8f2c8303d8da..c994e1ae3af5 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaFrom.java +++ b/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaFrom.java @@ -36,10 +36,20 @@ public interface JpaFrom extends JpaPath, JpaFetchParent, From @Override JpaEntityJoin join(Class entityClass, JoinType joinType); + /** + * @deprecated This method is a layer-breaker, leaking the SQM type + * {@link SqmJoinType} onto an API. It will be removed. + * Use {@link #join(Class, org.hibernate.query.common.JoinType)} + */ + @Deprecated(since="7", forRemoval = true) default JpaEntityJoin join(Class entityJavaType, SqmJoinType joinType) { return join( entityJavaType, joinType.getCorrespondingJpaJoinType() ); } + default JpaEntityJoin join(Class entityJavaType, org.hibernate.query.common.JoinType joinType) { + return join( entityJavaType, SqmJoinType.from(joinType) ); + } + @Override JpaJoin join(EntityType entity); @@ -48,23 +58,60 @@ default JpaEntityJoin join(Class entityJavaType, SqmJoinType joinTy JpaEntityJoin join(EntityDomainType entity); + /** + * @deprecated This method is a layer-breaker, leaking the SQM type + * {@link SqmJoinType} onto an API. It will be removed. + * Use {@link #join(EntityDomainType, org.hibernate.query.common.JoinType)} + */ + @Deprecated(since = "7", forRemoval = true) JpaEntityJoin join(EntityDomainType entity, SqmJoinType joinType); + default JpaEntityJoin join(EntityDomainType entity, org.hibernate.query.common.JoinType joinType) { + return join( entity, SqmJoinType.from(joinType) ); + } + @Incubating JpaDerivedJoin join(Subquery subquery); - @Incubating + /** + * @deprecated This method is a layer-breaker, leaking the SQM type + * {@link SqmJoinType} onto an API. It will be removed. + * Use {@link #join(Subquery, org.hibernate.query.common.JoinType)} + */ + @Incubating @Deprecated(since = "7", forRemoval = true) JpaDerivedJoin join(Subquery subquery, SqmJoinType joinType); + default JpaDerivedJoin join(Subquery subquery, org.hibernate.query.common.JoinType joinType) { + return join( subquery, SqmJoinType.from(joinType) ); + } + @Incubating JpaDerivedJoin joinLateral(Subquery subquery); - @Incubating + /** + * @deprecated This method is a layer-breaker, leaking the SQM type + * {@link SqmJoinType} onto an API. It will be removed. + * Use {@link #joinLateral(Subquery, org.hibernate.query.common.JoinType)} + */ + @Incubating @Deprecated(since = "7", forRemoval = true) JpaDerivedJoin joinLateral(Subquery subquery, SqmJoinType joinType); - @Incubating + default JpaDerivedJoin joinLateral(Subquery subquery, org.hibernate.query.common.JoinType joinType) { + return joinLateral( subquery, SqmJoinType.from(joinType) ); + } + + /** + * @deprecated This method is a layer-breaker, leaking the SQM type + * {@link SqmJoinType} onto an API. It will be removed. + * Use {@link #join(Subquery, org.hibernate.query.common.JoinType, boolean)} + */ + @Incubating @Deprecated(since = "7", forRemoval = true) JpaDerivedJoin join(Subquery subquery, SqmJoinType joinType, boolean lateral); + default JpaDerivedJoin join(Subquery subquery, org.hibernate.query.common.JoinType joinType, boolean lateral) { + return join( subquery, SqmJoinType.from(joinType), lateral ); + } + /** * Like calling the overload {@link #join(JpaSetReturningFunction, SqmJoinType)} with {@link SqmJoinType#INNER}. * @@ -192,9 +239,18 @@ default JpaEntityJoin join(Class entityJavaType, SqmJoinType joinTy @Incubating JpaJoin join(JpaCteCriteria cte); - @Incubating + /** + * @deprecated This method is a layer-breaker, leaking the SQM type + * {@link SqmJoinType} onto an API. It will be removed. + * Use {@link #join(JpaCteCriteria, org.hibernate.query.common.JoinType)} + */ + @Incubating @Deprecated(since = "7", forRemoval = true) JpaJoin join(JpaCteCriteria cte, SqmJoinType joinType); + default JpaJoin join(JpaCteCriteria cte, org.hibernate.query.common.JoinType joinType) { + return join( cte, SqmJoinType.from(joinType) ); + } + @Incubating JpaCrossJoin crossJoin(Class entityJavaType); diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/JoinType.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/JoinType.java new file mode 100644 index 000000000000..ea149bfd6dfe --- /dev/null +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/JoinType.java @@ -0,0 +1,35 @@ +/* + * SPDX-License-Identifier: LGPL-2.1-or-later + * Copyright Red Hat Inc. and Hibernate Authors + */ +package org.hibernate.query.common; + +/** + * Enumerates the possible kinds of join in HQL and ANSI SQL. + * + * @apiNote This enumeration competes with + * {@link jakarta.persistence.criteria.JoinType}, + * adding {@link #FULL} and {@link #CROSS} joins. + * + * @author Gavin King + * + * @since 7 + * + * @see jakarta.persistence.criteria.JoinType + */ +public enum JoinType { + /** + * @see jakarta.persistence.criteria.JoinType#INNER + */ + INNER, + /** + * @see jakarta.persistence.criteria.JoinType#LEFT + */ + LEFT, + /** + * @see jakarta.persistence.criteria.JoinType#RIGHT + */ + RIGHT, + FULL, + CROSS +} diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/SqmJoinType.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/SqmJoinType.java index b9b45ac6f509..08d101e12dd9 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/SqmJoinType.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/SqmJoinType.java @@ -4,92 +4,102 @@ */ package org.hibernate.query.sqm.tree; +import org.hibernate.query.common.JoinType; import org.hibernate.sql.ast.SqlAstJoinType; /** * Represents a canonical join type. - *

- * Note that currently HQL really only supports inner and left outer joins - * (though cross joins can also be achieved). This is because joins in HQL - * are always defined in relation to a mapped association. However, when we - * start allowing users to specify ad-hoc joins this may need to change to - * allow the full spectrum of join types. Thus the others are provided here - * currently just for completeness and for future expansion. * * @author Steve Ebersole + * + * @see JoinType + * @see SqlAstJoinType */ public enum SqmJoinType { /** * Represents an inner join. */ - INNER( "inner", SqlAstJoinType.INNER, jakarta.persistence.criteria.JoinType.INNER ), + INNER, /** * Represents a left outer join. */ - LEFT( "left outer", SqlAstJoinType.LEFT, jakarta.persistence.criteria.JoinType.LEFT ), + LEFT, /** * Represents a right outer join. */ - RIGHT( "right outer", SqlAstJoinType.RIGHT, jakarta.persistence.criteria.JoinType.RIGHT ), + RIGHT, /** * Represents a cross join (aka a cartesian product). */ - CROSS( "cross", SqlAstJoinType.CROSS, null ), + CROSS, /** * Represents a full join. */ - FULL( "full", SqlAstJoinType.FULL, null ); - - private final String text; - private final SqlAstJoinType correspondingSqlAstJoinType; - private final jakarta.persistence.criteria.JoinType correspondingJpaJoinType; - - SqmJoinType( - String text, - SqlAstJoinType correspondingSqlAstJoinType, - jakarta.persistence.criteria.JoinType correspondingJpaJoinType) { - this.text = text; - this.correspondingSqlAstJoinType = correspondingSqlAstJoinType; - this.correspondingJpaJoinType = correspondingJpaJoinType; - } + FULL; @Override public String toString() { - return text; + return getText(); } public String getText() { - return text; + return switch (this) { + case RIGHT -> "right outer"; + case LEFT -> "left outer"; + case INNER -> "inner"; + case FULL -> "full"; + case CROSS -> "cross"; + }; } public SqlAstJoinType getCorrespondingSqlJoinType() { - return correspondingSqlAstJoinType; + return switch (this) { + case RIGHT -> SqlAstJoinType.RIGHT; + case LEFT -> SqlAstJoinType.LEFT; + case INNER -> SqlAstJoinType.INNER; + case FULL -> SqlAstJoinType.FULL; + case CROSS -> SqlAstJoinType.CROSS; + }; } public jakarta.persistence.criteria.JoinType getCorrespondingJpaJoinType() { - return correspondingJpaJoinType; + return switch (this) { + case RIGHT -> jakarta.persistence.criteria.JoinType.RIGHT; + case LEFT -> jakarta.persistence.criteria.JoinType.LEFT; + case INNER -> jakarta.persistence.criteria.JoinType.INNER; + default -> null; + }; + } + + public JoinType getCorrespondingJoinType() { + return switch (this) { + case RIGHT -> JoinType.RIGHT; + case LEFT -> JoinType.LEFT; + case INNER -> JoinType.INNER; + case FULL -> JoinType.FULL; + case CROSS -> JoinType.CROSS; + }; + } + + public static SqmJoinType from(JoinType joinType) { + return switch ( joinType ) { + case INNER -> INNER; + case LEFT -> LEFT; + case RIGHT -> RIGHT; + case CROSS -> CROSS; + case FULL -> FULL; + }; } - @SuppressWarnings("DuplicateBranchesInSwitch") public static SqmJoinType from(jakarta.persistence.criteria.JoinType jpaJoinType) { - switch ( jpaJoinType ) { - case INNER: { - return INNER; - } - case LEFT: { - return LEFT; - } - case RIGHT: { - return RIGHT; - } - default: { - // generally speaking, the default for JPA JoinType is INNER - return INNER; - } - } + return switch ( jpaJoinType ) { + case INNER -> INNER; + case LEFT -> LEFT; + case RIGHT -> RIGHT; + }; } } diff --git a/hibernate-core/src/test/java/org/hibernate/orm/test/jpa/criteria/CriteriaQualifiedJoinTest.java b/hibernate-core/src/test/java/org/hibernate/orm/test/jpa/criteria/CriteriaQualifiedJoinTest.java index bdc8da9076eb..c511f983fd91 100644 --- a/hibernate-core/src/test/java/org/hibernate/orm/test/jpa/criteria/CriteriaQualifiedJoinTest.java +++ b/hibernate-core/src/test/java/org/hibernate/orm/test/jpa/criteria/CriteriaQualifiedJoinTest.java @@ -9,6 +9,7 @@ import java.util.List; import org.hibernate.Session; +import org.hibernate.query.common.JoinType; import org.hibernate.query.criteria.HibernateCriteriaBuilder; import org.hibernate.query.criteria.JpaCriteriaQuery; import org.hibernate.query.criteria.JpaCrossJoin; @@ -18,7 +19,6 @@ import org.hibernate.query.criteria.JpaPath; import org.hibernate.query.criteria.JpaRoot; import org.hibernate.query.criteria.JpaSubQuery; -import org.hibernate.query.sqm.tree.SqmJoinType; import org.hibernate.testing.orm.junit.DialectFeatureChecks; import org.hibernate.testing.orm.junit.EntityManagerFactoryScope; @@ -94,7 +94,7 @@ public void testEntityJoin(EntityManagerFactoryScope scope) { final HibernateCriteriaBuilder cb = entityManager.unwrap( Session.class ).getCriteriaBuilder(); final JpaCriteriaQuery query = cb.createTupleQuery(); final JpaRoot root = query.from( Primary.class ); - final JpaEntityJoin entityJoin = root.join( Secondary.class, SqmJoinType.INNER ); + final JpaEntityJoin entityJoin = root.join( Secondary.class, JoinType.INNER ); final JpaPath id = root.get( "id" ); entityJoin.on( cb.equal( id, entityJoin.get( "id" ) ) ); final JpaPath name = entityJoin.get( "name" ); diff --git a/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromEmbeddedIdTests.java b/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromEmbeddedIdTests.java index 45c1ed1a1f12..6de87674a4f7 100644 --- a/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromEmbeddedIdTests.java +++ b/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromEmbeddedIdTests.java @@ -6,13 +6,13 @@ import java.util.function.Consumer; +import org.hibernate.query.common.JoinType; import org.hibernate.query.criteria.HibernateCriteriaBuilder; import org.hibernate.query.criteria.JpaCriteriaQuery; import org.hibernate.query.criteria.JpaDerivedJoin; import org.hibernate.query.criteria.JpaRoot; import org.hibernate.query.criteria.JpaSubQuery; import org.hibernate.query.spi.QueryImplementor; -import org.hibernate.query.sqm.tree.SqmJoinType; import org.hibernate.testing.orm.junit.JiraKey; import org.hibernate.testing.orm.junit.DialectFeatureChecks; @@ -64,7 +64,7 @@ public void testEntity(SessionFactoryScope scope) { subquery.orderBy( cb.asc( alternativeContact.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); cq.multiselect( root.get( "name" ), a.get( "contact" ).get( "id" ) ); cq.orderBy( cb.asc( root.get( "id" ) ) ); @@ -114,7 +114,7 @@ public void testEntityJoin(SessionFactoryScope scope) { subquery.orderBy( cb.desc( alternativeContact.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); final Join alt = a.join( "contact" ); cq.multiselect( root.get( "name" ), alt.get( "name" ) ); @@ -162,7 +162,7 @@ public void testEntityImplicit(SessionFactoryScope scope) { subquery.orderBy( cb.desc( alternativeContact.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); cq.multiselect( root.get( "name" ), a.get( "contact" ).get( "name" ) ); cq.orderBy( cb.asc( root.get( "id" ) ) ); diff --git a/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromIdClassTests.java b/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromIdClassTests.java index 5c1d07e94956..ff089bd62de7 100644 --- a/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromIdClassTests.java +++ b/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromIdClassTests.java @@ -6,13 +6,13 @@ import java.util.function.Consumer; +import org.hibernate.query.common.JoinType; import org.hibernate.query.criteria.HibernateCriteriaBuilder; import org.hibernate.query.criteria.JpaCriteriaQuery; import org.hibernate.query.criteria.JpaDerivedJoin; import org.hibernate.query.criteria.JpaRoot; import org.hibernate.query.criteria.JpaSubQuery; import org.hibernate.query.spi.QueryImplementor; -import org.hibernate.query.sqm.tree.SqmJoinType; import org.hibernate.testing.orm.junit.DialectFeatureChecks; import org.hibernate.testing.orm.junit.DomainModel; @@ -62,7 +62,7 @@ public void testEntity(SessionFactoryScope scope) { subquery.orderBy( cb.asc( alternativeContact.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); cq.multiselect( root.get( "name" ), a.get( "contact" ).get( "id1" ), a.get( "contact" ).get( "id2" ) ); cq.orderBy( cb.asc( root.get( "id1" ) ) ); @@ -113,7 +113,7 @@ public void testEntityJoin(SessionFactoryScope scope) { subquery.orderBy( cb.desc( alternativeContact.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); final Join alt = a.join( "contact" ); cq.multiselect( root.get( "name" ), alt.get( "name" ) ); @@ -161,7 +161,7 @@ public void testEntityImplicit(SessionFactoryScope scope) { subquery.orderBy( cb.desc( alternativeContact.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); cq.multiselect( root.get( "name" ), a.get( "contact" ).get( "name" ) ); cq.orderBy( cb.asc( root.get( "id1" ) ) ); diff --git a/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromInverseOneEmbeddedIdTests.java b/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromInverseOneEmbeddedIdTests.java index 35761f7650a8..3818ab10afb7 100644 --- a/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromInverseOneEmbeddedIdTests.java +++ b/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromInverseOneEmbeddedIdTests.java @@ -6,13 +6,13 @@ import java.util.function.Consumer; +import org.hibernate.query.common.JoinType; import org.hibernate.query.criteria.HibernateCriteriaBuilder; import org.hibernate.query.criteria.JpaCriteriaQuery; import org.hibernate.query.criteria.JpaDerivedJoin; import org.hibernate.query.criteria.JpaRoot; import org.hibernate.query.criteria.JpaSubQuery; import org.hibernate.query.spi.QueryImplementor; -import org.hibernate.query.sqm.tree.SqmJoinType; import org.hibernate.testing.orm.junit.DialectFeatureChecks; import org.hibernate.testing.orm.junit.DomainModel; @@ -62,7 +62,7 @@ public void testEntity(SessionFactoryScope scope) { subquery.orderBy( cb.asc( alternativeContact.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); cq.multiselect( root.get( "name" ), a.get( "contact" ).get( "id" ) ); cq.orderBy( cb.asc( root.get( "id" ) ) ); @@ -112,7 +112,7 @@ public void testEntityJoin(SessionFactoryScope scope) { subquery.orderBy( cb.desc( alternativeContact.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); final Join alt = a.join( "contact" ); cq.multiselect( root.get( "name" ), alt.get( "name" ) ); @@ -160,7 +160,7 @@ public void testEntityImplicit(SessionFactoryScope scope) { subquery.orderBy( cb.desc( alternativeContact.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); cq.multiselect( root.get( "name" ), a.get( "contact" ).get( "name" ) ); cq.orderBy( cb.asc( root.get( "id" ) ) ); diff --git a/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromInverseOneIdClassTests.java b/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromInverseOneIdClassTests.java index 06396b1de356..6c435c98418d 100644 --- a/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromInverseOneIdClassTests.java +++ b/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromInverseOneIdClassTests.java @@ -6,13 +6,13 @@ import java.util.function.Consumer; +import org.hibernate.query.common.JoinType; import org.hibernate.query.criteria.HibernateCriteriaBuilder; import org.hibernate.query.criteria.JpaCriteriaQuery; import org.hibernate.query.criteria.JpaDerivedJoin; import org.hibernate.query.criteria.JpaRoot; import org.hibernate.query.criteria.JpaSubQuery; import org.hibernate.query.spi.QueryImplementor; -import org.hibernate.query.sqm.tree.SqmJoinType; import org.hibernate.testing.orm.junit.DialectFeatureChecks; import org.hibernate.testing.orm.junit.DomainModel; @@ -62,7 +62,7 @@ public void testEntity(SessionFactoryScope scope) { subquery.orderBy( cb.asc( alternativeContact.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); cq.multiselect( root.get( "name" ), a.get( "contact" ).get( "id1" ), a.get( "contact" ).get( "id2" ) ); cq.orderBy( cb.asc( root.get( "id1" ) ) ); @@ -113,7 +113,7 @@ public void testEntityJoin(SessionFactoryScope scope) { subquery.orderBy( cb.desc( alternativeContact.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); final Join alt = a.join( "contact" ); cq.multiselect( root.get( "name" ), alt.get( "name" ) ); @@ -161,7 +161,7 @@ public void testEntityImplicit(SessionFactoryScope scope) { subquery.orderBy( cb.desc( alternativeContact.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); cq.multiselect( root.get( "name" ), a.get( "contact" ).get( "name" ) ); cq.orderBy( cb.asc( root.get( "id1" ) ) ); diff --git a/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromInverseOneTests.java b/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromInverseOneTests.java index 8c7db7f3f0da..090544adc463 100644 --- a/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromInverseOneTests.java +++ b/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromInverseOneTests.java @@ -6,13 +6,13 @@ import java.util.function.Consumer; +import org.hibernate.query.common.JoinType; import org.hibernate.query.criteria.HibernateCriteriaBuilder; import org.hibernate.query.criteria.JpaCriteriaQuery; import org.hibernate.query.criteria.JpaDerivedJoin; import org.hibernate.query.criteria.JpaRoot; import org.hibernate.query.criteria.JpaSubQuery; import org.hibernate.query.spi.QueryImplementor; -import org.hibernate.query.sqm.tree.SqmJoinType; import org.hibernate.testing.orm.junit.DialectFeatureChecks; import org.hibernate.testing.orm.junit.DomainModel; @@ -62,7 +62,7 @@ public void testEntity(SessionFactoryScope scope) { subquery.orderBy( cb.asc( alternativeContact.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); cq.multiselect( root.get( "name" ), a.get( "contact" ).get( "id" ) ); cq.orderBy( cb.asc( root.get( "id" ) ) ); @@ -110,7 +110,7 @@ public void testEntityJoin(SessionFactoryScope scope) { subquery.orderBy( cb.desc( alternativeContact.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); final Join alt = a.join( "contact" ); cq.multiselect( root.get( "name" ), alt.get( "name" ) ); @@ -158,7 +158,7 @@ public void testEntityImplicit(SessionFactoryScope scope) { subquery.orderBy( cb.desc( alternativeContact.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); cq.multiselect( root.get( "name" ), a.get( "contact" ).get( "name" ) ); cq.orderBy( cb.asc( root.get( "id" ) ) ); diff --git a/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromManyToManyEmbeddedIdTests.java b/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromManyToManyEmbeddedIdTests.java index 5529496bd7cc..98c440a5d931 100644 --- a/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromManyToManyEmbeddedIdTests.java +++ b/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromManyToManyEmbeddedIdTests.java @@ -7,13 +7,13 @@ import java.util.Set; import java.util.function.Consumer; +import org.hibernate.query.common.JoinType; import org.hibernate.query.criteria.HibernateCriteriaBuilder; import org.hibernate.query.criteria.JpaCriteriaQuery; import org.hibernate.query.criteria.JpaDerivedJoin; import org.hibernate.query.criteria.JpaRoot; import org.hibernate.query.criteria.JpaSubQuery; import org.hibernate.query.spi.QueryImplementor; -import org.hibernate.query.sqm.tree.SqmJoinType; import org.hibernate.testing.orm.junit.DialectFeatureChecks; import org.hibernate.testing.orm.junit.DomainModel; @@ -62,7 +62,7 @@ public void testEntity(SessionFactoryScope scope) { subquery.orderBy( cb.asc( alternativeContacts.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); cq.multiselect( root.get( "name" ), a.get( "contact" ).get( "id" ) ); cq.orderBy( cb.asc( root.get( "id" ) ) ); @@ -112,7 +112,7 @@ public void testEntityJoin(SessionFactoryScope scope) { subquery.orderBy( cb.desc( alternativeContacts.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); final Join alt = a.join( "contact" ); cq.multiselect( root.get( "name" ), alt.get( "name" ) ); @@ -160,7 +160,7 @@ public void testEntityImplicit(SessionFactoryScope scope) { subquery.orderBy( cb.desc( alternativeContacts.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); cq.multiselect( root.get( "name" ), a.get( "contact" ).get( "name" ) ); cq.orderBy( cb.asc( root.get( "id" ) ) ); diff --git a/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromManyToManyIdClassTests.java b/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromManyToManyIdClassTests.java index 38369e769202..5ebee75dcaa8 100644 --- a/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromManyToManyIdClassTests.java +++ b/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromManyToManyIdClassTests.java @@ -7,13 +7,13 @@ import java.util.Set; import java.util.function.Consumer; +import org.hibernate.query.common.JoinType; import org.hibernate.query.criteria.HibernateCriteriaBuilder; import org.hibernate.query.criteria.JpaCriteriaQuery; import org.hibernate.query.criteria.JpaDerivedJoin; import org.hibernate.query.criteria.JpaRoot; import org.hibernate.query.criteria.JpaSubQuery; import org.hibernate.query.spi.QueryImplementor; -import org.hibernate.query.sqm.tree.SqmJoinType; import org.hibernate.testing.orm.junit.DialectFeatureChecks; import org.hibernate.testing.orm.junit.DomainModel; @@ -62,7 +62,7 @@ public void testEntity(SessionFactoryScope scope) { subquery.orderBy( cb.asc( alternativeContacts.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); cq.multiselect( root.get( "name" ), a.get( "contact" ).get( "id1" ), a.get( "contact" ).get( "id2" ) ); cq.orderBy( cb.asc( root.get( "id1" ) ) ); @@ -113,7 +113,7 @@ public void testEntityJoin(SessionFactoryScope scope) { subquery.orderBy( cb.desc( alternativeContacts.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); final Join alt = a.join( "contact" ); cq.multiselect( root.get( "name" ), alt.get( "name" ) ); @@ -161,7 +161,7 @@ public void testEntityImplicit(SessionFactoryScope scope) { subquery.orderBy( cb.desc( alternativeContacts.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); cq.multiselect( root.get( "name" ), a.get( "contact" ).get( "name" ) ); cq.orderBy( cb.asc( root.get( "id1" ) ) ); diff --git a/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromManyToManyTests.java b/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromManyToManyTests.java index fb73eb294548..0d77aeb0296f 100644 --- a/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromManyToManyTests.java +++ b/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromManyToManyTests.java @@ -7,13 +7,13 @@ import java.util.Set; import java.util.function.Consumer; +import org.hibernate.query.common.JoinType; import org.hibernate.query.criteria.HibernateCriteriaBuilder; import org.hibernate.query.criteria.JpaCriteriaQuery; import org.hibernate.query.criteria.JpaDerivedJoin; import org.hibernate.query.criteria.JpaRoot; import org.hibernate.query.criteria.JpaSubQuery; import org.hibernate.query.spi.QueryImplementor; -import org.hibernate.query.sqm.tree.SqmJoinType; import org.hibernate.testing.orm.junit.DialectFeatureChecks; import org.hibernate.testing.orm.junit.DomainModel; @@ -62,7 +62,7 @@ public void testEntity(SessionFactoryScope scope) { subquery.orderBy( cb.asc( alternativeContacts.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); cq.multiselect( root.get( "name" ), a.get( "contact" ).get( "id" ) ); cq.orderBy( cb.asc( root.get( "id" ) ) ); @@ -110,7 +110,7 @@ public void testEntityJoin(SessionFactoryScope scope) { subquery.orderBy( cb.desc( alternativeContacts.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); final Join alt = a.join( "contact" ); cq.multiselect( root.get( "name" ), alt.get( "name" ) ); @@ -158,7 +158,7 @@ public void testEntityImplicit(SessionFactoryScope scope) { subquery.orderBy( cb.desc( alternativeContacts.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); cq.multiselect( root.get( "name" ), a.get( "contact" ).get( "name" ) ); cq.orderBy( cb.asc( root.get( "id" ) ) ); diff --git a/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromOneToManyEmbeddedIdTests.java b/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromOneToManyEmbeddedIdTests.java index 2a820cfe5571..1394603bb91d 100644 --- a/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromOneToManyEmbeddedIdTests.java +++ b/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromOneToManyEmbeddedIdTests.java @@ -7,13 +7,13 @@ import java.util.Set; import java.util.function.Consumer; +import org.hibernate.query.common.JoinType; import org.hibernate.query.criteria.HibernateCriteriaBuilder; import org.hibernate.query.criteria.JpaCriteriaQuery; import org.hibernate.query.criteria.JpaDerivedJoin; import org.hibernate.query.criteria.JpaRoot; import org.hibernate.query.criteria.JpaSubQuery; import org.hibernate.query.spi.QueryImplementor; -import org.hibernate.query.sqm.tree.SqmJoinType; import org.hibernate.testing.orm.junit.DialectFeatureChecks; import org.hibernate.testing.orm.junit.DomainModel; @@ -64,7 +64,7 @@ public void testEntity(SessionFactoryScope scope) { subquery.orderBy( cb.asc( alternativeContacts.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); cq.multiselect( root.get( "name" ), a.get( "contact" ).get( "id" ) ); cq.orderBy( cb.asc( root.get( "id" ) ) ); @@ -114,7 +114,7 @@ public void testEntityJoin(SessionFactoryScope scope) { subquery.orderBy( cb.desc( alternativeContacts.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); final Join alt = a.join( "contact" ); cq.multiselect( root.get( "name" ), alt.get( "name" ) ); @@ -162,7 +162,7 @@ public void testEntityImplicit(SessionFactoryScope scope) { subquery.orderBy( cb.desc( alternativeContacts.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); cq.multiselect( root.get( "name" ), a.get( "contact" ).get( "name" ) ); cq.orderBy( cb.asc( root.get( "id" ) ) ); diff --git a/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromOneToManyIdClassTests.java b/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromOneToManyIdClassTests.java index 01bc20f46176..a3cdc07182ca 100644 --- a/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromOneToManyIdClassTests.java +++ b/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromOneToManyIdClassTests.java @@ -7,13 +7,13 @@ import java.util.Set; import java.util.function.Consumer; +import org.hibernate.query.common.JoinType; import org.hibernate.query.criteria.HibernateCriteriaBuilder; import org.hibernate.query.criteria.JpaCriteriaQuery; import org.hibernate.query.criteria.JpaDerivedJoin; import org.hibernate.query.criteria.JpaRoot; import org.hibernate.query.criteria.JpaSubQuery; import org.hibernate.query.spi.QueryImplementor; -import org.hibernate.query.sqm.tree.SqmJoinType; import org.hibernate.testing.orm.junit.DialectFeatureChecks; import org.hibernate.testing.orm.junit.DomainModel; @@ -64,7 +64,7 @@ public void testEntity(SessionFactoryScope scope) { subquery.orderBy( cb.asc( alternativeContacts.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); cq.multiselect( root.get( "name" ), a.get( "contact" ).get( "id1" ), a.get( "contact" ).get( "id2" ) ); cq.orderBy( cb.asc( root.get( "id1" ) ) ); @@ -115,7 +115,7 @@ public void testEntityJoin(SessionFactoryScope scope) { subquery.orderBy( cb.desc( alternativeContacts.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); final Join alt = a.join( "contact" ); cq.multiselect( root.get( "name" ), alt.get( "name" ) ); @@ -163,7 +163,7 @@ public void testEntityImplicit(SessionFactoryScope scope) { subquery.orderBy( cb.desc( alternativeContacts.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); cq.multiselect( root.get( "name" ), a.get( "contact" ).get( "name" ) ); cq.orderBy( cb.asc( root.get( "id1" ) ) ); diff --git a/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromOneToManyTests.java b/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromOneToManyTests.java index 08ebd66a8df2..7b223088c2a3 100644 --- a/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromOneToManyTests.java +++ b/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromOneToManyTests.java @@ -7,13 +7,13 @@ import java.util.Set; import java.util.function.Consumer; +import org.hibernate.query.common.JoinType; import org.hibernate.query.criteria.HibernateCriteriaBuilder; import org.hibernate.query.criteria.JpaCriteriaQuery; import org.hibernate.query.criteria.JpaDerivedJoin; import org.hibernate.query.criteria.JpaRoot; import org.hibernate.query.criteria.JpaSubQuery; import org.hibernate.query.spi.QueryImplementor; -import org.hibernate.query.sqm.tree.SqmJoinType; import org.hibernate.testing.orm.junit.DialectFeatureChecks; import org.hibernate.testing.orm.junit.DomainModel; @@ -64,7 +64,7 @@ public void testEntity(SessionFactoryScope scope) { subquery.orderBy( cb.asc( alternativeContacts.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); cq.multiselect( root.get( "name" ), a.get( "contact" ).get( "id" ) ); cq.orderBy( cb.asc( root.get( "id" ) ) ); @@ -112,7 +112,7 @@ public void testEntityJoin(SessionFactoryScope scope) { subquery.orderBy( cb.desc( alternativeContacts.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); final Join alt = a.join( "contact" ); cq.multiselect( root.get( "name" ), alt.get( "name" ) ); @@ -160,7 +160,7 @@ public void testEntityImplicit(SessionFactoryScope scope) { subquery.orderBy( cb.desc( alternativeContacts.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); cq.multiselect( root.get( "name" ), a.get( "contact" ).get( "name" ) ); cq.orderBy( cb.asc( root.get( "id" ) ) ); diff --git a/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromTests.java b/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromTests.java index d96812c997d1..0f9f5e93aa02 100644 --- a/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromTests.java +++ b/hibernate-core/src/test/java/org/hibernate/orm/test/query/SubQueryInFromTests.java @@ -8,6 +8,7 @@ import java.util.List; import java.util.function.Consumer; +import org.hibernate.query.common.JoinType; import org.hibernate.query.criteria.HibernateCriteriaBuilder; import org.hibernate.query.criteria.JpaCriteriaQuery; import org.hibernate.query.criteria.JpaDerivedJoin; @@ -16,7 +17,6 @@ import org.hibernate.query.criteria.JpaSubQuery; import org.hibernate.query.spi.QueryImplementor; import org.hibernate.query.sqm.InterpretationException; -import org.hibernate.query.sqm.tree.SqmJoinType; import org.hibernate.testing.orm.junit.Jira; import org.hibernate.testing.orm.junit.RequiresDialectFeature; @@ -143,7 +143,7 @@ public void testBasic(SessionFactoryScope scope) { subquery.orderBy( cb.asc( address.get( "line1" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.INNER ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.INNER ); cq.multiselect( root.get( "name" ), a.get( "address" ) ); @@ -230,7 +230,7 @@ public void testEmbedded(SessionFactoryScope scope) { subquery.orderBy( cb.asc( address.get( "line1" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.INNER ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.INNER ); cq.multiselect( root.get( "name" ), a.get( "zip" ) ); @@ -313,7 +313,7 @@ public void testEntity(SessionFactoryScope scope) { subquery.orderBy( cb.asc( alternativeContact.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); cq.multiselect( root.get( "name" ), a.get( "contact" ).get( "id" ) ); cq.where( cb.equal( root.get( "id" ), 1 ) ); @@ -359,7 +359,7 @@ public void testEntityJoin(SessionFactoryScope scope) { subquery.orderBy( cb.desc( alternativeContact.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); final Join alt = a.join( "contact" ); cq.multiselect( root.get( "name" ), alt.get( "name" ) ); @@ -407,7 +407,7 @@ public void testEntityImplicit(SessionFactoryScope scope) { subquery.orderBy( cb.desc( alternativeContact.get( "name" ).get( "first" ) ) ); subquery.fetch( 1 ); - final JpaDerivedJoin a = root.joinLateral( subquery, SqmJoinType.LEFT ); + final JpaDerivedJoin a = root.joinLateral( subquery, JoinType.LEFT ); cq.multiselect( root.get( "name" ), a.get( "contact" ).get( "name" ) ); cq.where( cb.equal( root.get( "id" ), 1 ) ); diff --git a/hibernate-core/src/test/java/org/hibernate/orm/test/query/criteria/BasicCriteriaExecutionTests.java b/hibernate-core/src/test/java/org/hibernate/orm/test/query/criteria/BasicCriteriaExecutionTests.java index b1bb27126724..aa6d14f9771e 100644 --- a/hibernate-core/src/test/java/org/hibernate/orm/test/query/criteria/BasicCriteriaExecutionTests.java +++ b/hibernate-core/src/test/java/org/hibernate/orm/test/query/criteria/BasicCriteriaExecutionTests.java @@ -10,10 +10,10 @@ import org.hibernate.community.dialect.DerbyDialect; import org.hibernate.dialect.H2Dialect; +import org.hibernate.query.common.JoinType; import org.hibernate.query.criteria.HibernateCriteriaBuilder; import org.hibernate.query.criteria.JpaCriteriaQuery; import org.hibernate.query.criteria.JpaRoot; -import org.hibernate.query.sqm.tree.SqmJoinType; import org.hibernate.testing.SkipForDialect; import org.hibernate.testing.orm.domain.gambit.BasicEntity; @@ -157,7 +157,7 @@ public void testCriteriaEntityJoin(SessionFactoryScope scope) { final JpaCriteriaQuery criteria = criteriaBuilder.createQuery(); final JpaRoot root = criteria.from( BasicEntity.class ); - root.join( BasicEntity.class, SqmJoinType.CROSS ); + root.join( BasicEntity.class, JoinType.CROSS ); criteria.select( root ); session.createQuery( criteria ).list(); diff --git a/hibernate-core/src/test/java/org/hibernate/orm/test/query/criteria/CriteriaGetJoinsTest.java b/hibernate-core/src/test/java/org/hibernate/orm/test/query/criteria/CriteriaGetJoinsTest.java index 4b615dbc873f..a27e80eed5ff 100644 --- a/hibernate-core/src/test/java/org/hibernate/orm/test/query/criteria/CriteriaGetJoinsTest.java +++ b/hibernate-core/src/test/java/org/hibernate/orm/test/query/criteria/CriteriaGetJoinsTest.java @@ -9,7 +9,6 @@ import org.hibernate.query.criteria.HibernateCriteriaBuilder; import org.hibernate.query.criteria.JpaCriteriaQuery; import org.hibernate.query.criteria.JpaRoot; -import org.hibernate.query.sqm.tree.SqmJoinType; import org.hibernate.testing.orm.junit.DomainModel; import org.hibernate.testing.orm.junit.JiraKey; @@ -42,10 +41,10 @@ public void testGetJoinsFiltersEntityJoin(SessionFactoryScope scope) { scope.inTransaction( session -> { HibernateCriteriaBuilder cb = session.getCriteriaBuilder(); - JpaCriteriaQuery cq = cb.createQuery(); + JpaCriteriaQuery cq = cb.createQuery(); JpaRoot root = cq.from( MyEntity.class ); root.join( "secondEntity", JoinType.LEFT ); - root.join( MyEntity.class, SqmJoinType.LEFT ); + root.join( MyEntity.class, org.hibernate.query.common.JoinType.LEFT ); Set> joins = root.getJoins(); /* SqmEntityJoin does not implement jakarta.persistence.criteria.Join, iterating through the @@ -53,7 +52,7 @@ public void testGetJoinsFiltersEntityJoin(SessionFactoryScope scope) { */ assertThat( joins.size() ).isEqualTo( 1 ); - joins.forEach( join -> join.getJoinType() ); + joins.forEach( Join::getJoinType ); } ); } diff --git a/hibernate-core/src/test/java/org/hibernate/orm/test/query/hql/DeleteJoinTests.java b/hibernate-core/src/test/java/org/hibernate/orm/test/query/hql/DeleteJoinTests.java index 22bda3acfb66..536b481b2bda 100644 --- a/hibernate-core/src/test/java/org/hibernate/orm/test/query/hql/DeleteJoinTests.java +++ b/hibernate-core/src/test/java/org/hibernate/orm/test/query/hql/DeleteJoinTests.java @@ -6,11 +6,11 @@ import java.time.LocalDate; +import org.hibernate.query.common.JoinType; import org.hibernate.query.criteria.HibernateCriteriaBuilder; import org.hibernate.query.criteria.JpaCriteriaDelete; import org.hibernate.query.criteria.JpaEntityJoin; import org.hibernate.query.criteria.JpaRoot; -import org.hibernate.query.sqm.tree.SqmJoinType; import org.hibernate.testing.orm.domain.StandardDomainModel; import org.hibernate.testing.orm.domain.contacts.Contact; @@ -80,7 +80,7 @@ public void testDeleteWithJoinCriteria(SessionFactoryScope scope) { final HibernateCriteriaBuilder cb = session.getCriteriaBuilder(); final JpaCriteriaDelete criteriaDelete = cb.createCriteriaDelete( BasicEntity.class ); final JpaRoot b = criteriaDelete.from( BasicEntity.class ); - final JpaEntityJoin c = b.join( Contact.class, SqmJoinType.LEFT ); + final JpaEntityJoin c = b.join( Contact.class, JoinType.LEFT ); c.on( b.get( "id" ).equalTo( c.get( "id" ) ) ); criteriaDelete.where( c.get( "id" ).isNotNull() ); int updated = session.createMutationQuery( criteriaDelete ).executeUpdate(); diff --git a/hibernate-core/src/test/java/org/hibernate/orm/test/query/hql/UpdateJoinTests.java b/hibernate-core/src/test/java/org/hibernate/orm/test/query/hql/UpdateJoinTests.java index e5ae135e00d6..b38f4103e6ad 100644 --- a/hibernate-core/src/test/java/org/hibernate/orm/test/query/hql/UpdateJoinTests.java +++ b/hibernate-core/src/test/java/org/hibernate/orm/test/query/hql/UpdateJoinTests.java @@ -6,11 +6,11 @@ import java.time.LocalDate; +import org.hibernate.query.common.JoinType; import org.hibernate.query.criteria.HibernateCriteriaBuilder; import org.hibernate.query.criteria.JpaCriteriaUpdate; import org.hibernate.query.criteria.JpaEntityJoin; import org.hibernate.query.criteria.JpaRoot; -import org.hibernate.query.sqm.tree.SqmJoinType; import org.hibernate.testing.orm.domain.StandardDomainModel; import org.hibernate.testing.orm.domain.contacts.Contact; @@ -81,7 +81,7 @@ public void testUpdateWithJoinCriteria(SessionFactoryScope scope) { final HibernateCriteriaBuilder cb = session.getCriteriaBuilder(); final JpaCriteriaUpdate criteriaUpdate = cb.createCriteriaUpdate( BasicEntity.class ); final JpaRoot b = criteriaUpdate.from( BasicEntity.class ); - final JpaEntityJoin c = b.join( Contact.class, SqmJoinType.LEFT ); + final JpaEntityJoin c = b.join( Contact.class, JoinType.LEFT ); c.on( b.get( "id" ).equalTo( c.get( "id" ) ) ); criteriaUpdate.set( b.get( "data" ), c.get( "name" ).get( "first" ) ); criteriaUpdate.where( c.get( "id" ).isNotNull() ); From 5fbb3562254cc78bce150fca228eb1eb2f3a58d5 Mon Sep 17 00:00:00 2001 From: Gavin King Date: Sat, 7 Sep 2024 17:48:26 +0200 Subject: [PATCH 4/7] HHH-17068 move layer-breaking enums from o.h.q.sqm to o.h.q.common Signed-off-by: Gavin King --- .../community/dialect/AltibaseDialect.java | 2 +- .../dialect/AltibaseSqlAstTranslator.java | 4 +-- .../community/dialect/CUBRIDDialect.java | 12 +++---- .../community/dialect/CacheDialect.java | 2 +- .../dialect/CockroachLegacyDialect.java | 8 ++--- .../community/dialect/DB2LegacyDialect.java | 2 +- .../dialect/DB2LegacySqlAstTranslator.java | 2 +- .../community/dialect/DB2zLegacyDialect.java | 2 +- .../community/dialect/DerbyDialect.java | 2 +- .../community/dialect/DerbyLegacyDialect.java | 2 +- .../community/dialect/FirebirdDialect.java | 4 +-- .../community/dialect/H2LegacyDialect.java | 6 ++-- .../community/dialect/HANALegacyDialect.java | 2 +- .../community/dialect/HSQLLegacyDialect.java | 2 +- .../community/dialect/InformixDialect.java | 2 +- .../community/dialect/IngresDialect.java | 4 +-- .../community/dialect/MimerSQLDialect.java | 2 +- .../community/dialect/MySQLLegacyDialect.java | 2 +- .../dialect/OracleLegacyDialect.java | 16 +++++----- .../dialect/OracleLegacySqlAstTranslator.java | 6 ++-- .../dialect/PostgreSQLLegacyDialect.java | 8 ++--- .../PostgreSQLLegacySqlAstTranslator.java | 2 +- .../dialect/PostgresPlusLegacyDialect.java | 2 +- .../community/dialect/RDMSOS2200Dialect.java | 2 +- .../dialect/RDMSOS2200SqlAstTranslator.java | 2 +- .../dialect/SQLServerLegacyDialect.java | 6 ++-- .../SQLServerLegacySqlAstTranslator.java | 2 +- .../community/dialect/SQLiteDialect.java | 12 +++---- .../community/dialect/SingleStoreDialect.java | 2 +- .../dialect/SybaseASELegacyDialect.java | 2 +- .../dialect/SybaseLegacyDialect.java | 2 +- .../community/dialect/TeradataDialect.java | 2 +- .../community/dialect/TimesTenDialect.java | 2 +- .../hibernate/dialect/CockroachDialect.java | 8 ++--- .../org/hibernate/dialect/DB2Dialect.java | 2 +- .../dialect/DB2SqlAstTranslator.java | 2 +- .../org/hibernate/dialect/DB2zDialect.java | 2 +- .../java/org/hibernate/dialect/Dialect.java | 4 +-- .../dialect/DialectDelegateWrapper.java | 4 +-- .../java/org/hibernate/dialect/H2Dialect.java | 6 ++-- .../org/hibernate/dialect/HANADialect.java | 2 +- .../org/hibernate/dialect/HSQLDialect.java | 2 +- .../org/hibernate/dialect/MySQLDialect.java | 2 +- .../org/hibernate/dialect/OracleDialect.java | 16 +++++----- .../dialect/OracleSqlAstTranslator.java | 6 ++-- .../hibernate/dialect/PostgreSQLDialect.java | 8 ++--- .../dialect/PostgreSQLSqlAstTranslator.java | 2 +- .../dialect/PostgresPlusDialect.java | 2 +- .../hibernate/dialect/SQLServerDialect.java | 6 ++-- .../dialect/SQLServerSqlAstTranslator.java | 2 +- .../org/hibernate/dialect/SpannerDialect.java | 2 +- .../hibernate/dialect/SybaseASEDialect.java | 2 +- .../org/hibernate/dialect/SybaseDialect.java | 2 +- .../org/hibernate/dialect/TiDBDialect.java | 2 +- .../dialect/function/DateTruncEmulation.java | 2 +- .../dialect/function/ExtractFunction.java | 4 +-- .../dialect/function/FormatFunction.java | 2 +- .../IntegralTimestampaddFunction.java | 2 +- .../dialect/function/OracleTruncFunction.java | 2 +- .../dialect/function/SybaseTruncFunction.java | 2 +- .../function/TimestampaddFunction.java | 2 +- .../function/TimestampdiffFunction.java | 2 +- .../dialect/function/TruncFunction.java | 2 +- .../spi/ExecuteUpdateResultCheckStyle.java | 1 - .../java/org/hibernate/query/JpaTuple.java | 19 ----------- .../org/hibernate/query/QueryLogging.java | 2 ++ .../{sqm => common}/FetchClauseType.java | 2 +- .../query/{sqm => common}/FrameExclusion.java | 2 +- .../query/{sqm => common}/FrameKind.java | 2 +- .../query/{sqm => common}/FrameMode.java | 2 +- .../query/{sqm => common}/TemporalUnit.java | 4 ++- .../hibernate/query/common/package-info.java | 15 +++++++++ .../query/criteria/CriteriaDefinition.java | 2 +- .../criteria/HibernateCriteriaBuilder.java | 20 ++++++------ .../query/criteria/JpaCriteriaQuery.java | 2 +- .../query/criteria/JpaCteContainer.java | 4 --- .../query/criteria/JpaQueryGroup.java | 7 +--- .../query/criteria/JpaQueryPart.java | 2 +- .../query/criteria/JpaQueryStructure.java | 2 +- .../hibernate/query/criteria/JpaSubQuery.java | 2 +- .../hibernate/query/criteria/JpaWindow.java | 2 +- .../query/criteria/JpaWindowFrame.java | 2 +- .../spi/HibernateCriteriaBuilderDelegate.java | 2 +- .../hql/internal/SemanticQueryBuilder.java | 32 +++++++++---------- .../org/hibernate/query/sqm/IntervalType.java | 7 +++- .../sqm/internal/SqmCriteriaNodeBuilder.java | 4 +-- .../temptable/InsertExecutionDelegate.java | 2 +- .../function/FunctionParameterType.java | 2 +- .../sqm/sql/BaseSqmToSqlAstConverter.java | 12 +++---- .../query/sqm/tree/expression/Conversion.java | 2 +- .../sqm/tree/expression/SqmDurationUnit.java | 2 +- .../tree/expression/SqmExpressionHelper.java | 2 +- .../sqm/tree/expression/SqmExtractUnit.java | 2 +- .../query/sqm/tree/expression/SqmOver.java | 6 ++-- .../query/sqm/tree/expression/SqmWindow.java | 18 +++++------ .../sqm/tree/expression/SqmWindowFrame.java | 2 +- .../query/sqm/tree/select/SqmQueryGroup.java | 4 +-- .../query/sqm/tree/select/SqmQueryPart.java | 2 +- .../query/sqm/tree/select/SqmQuerySpec.java | 2 +- .../sqm/tree/select/SqmSelectStatement.java | 2 +- .../query/sqm/tree/select/SqmSubQuery.java | 2 +- .../sql/ast/spi/AbstractSqlAstTranslator.java | 10 +++--- .../sql/ast/tree/expression/Duration.java | 2 +- .../sql/ast/tree/expression/DurationUnit.java | 2 +- .../sql/ast/tree/expression/ExtractUnit.java | 2 +- .../sql/ast/tree/expression/Over.java | 6 ++-- .../sql/ast/tree/select/QueryPart.java | 2 +- .../sql/results/internal/TupleImpl.java | 6 ++-- .../test/component/basic/ComponentTest.java | 2 +- .../jpa/criteria/basic/ExpressionsTest.java | 2 +- .../OraclePaginationWithLocksTest.java | 2 +- ...iteriaBuilderNonStandardFunctionsTest.java | 2 +- .../orm/junit/DialectFeatureChecks.java | 2 +- 113 files changed, 234 insertions(+), 241 deletions(-) delete mode 100644 hibernate-core/src/main/java/org/hibernate/query/JpaTuple.java rename hibernate-core/src/main/java/org/hibernate/query/{sqm => common}/FetchClauseType.java (94%) rename hibernate-core/src/main/java/org/hibernate/query/{sqm => common}/FrameExclusion.java (85%) rename hibernate-core/src/main/java/org/hibernate/query/{sqm => common}/FrameKind.java (87%) rename hibernate-core/src/main/java/org/hibernate/query/{sqm => common}/FrameMode.java (83%) rename hibernate-core/src/main/java/org/hibernate/query/{sqm => common}/TemporalUnit.java (97%) create mode 100644 hibernate-core/src/main/java/org/hibernate/query/common/package-info.java diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/AltibaseDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/AltibaseDialect.java index 94ae2b48aaad..a609ae0e8d7e 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/AltibaseDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/AltibaseDialect.java @@ -38,7 +38,7 @@ import org.hibernate.internal.util.JdbcExceptionHelper; import org.hibernate.query.sqm.CastType; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.TrimSpec; import org.hibernate.query.sqm.produce.function.FunctionParameterType; import org.hibernate.query.sqm.produce.function.StandardFunctionArgumentTypeResolvers; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/AltibaseSqlAstTranslator.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/AltibaseSqlAstTranslator.java index 731bf873f3a9..616ea6f5bcf2 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/AltibaseSqlAstTranslator.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/AltibaseSqlAstTranslator.java @@ -9,8 +9,8 @@ import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.internal.util.collections.Stack; import org.hibernate.query.sqm.ComparisonOperator; -import org.hibernate.query.sqm.FrameExclusion; -import org.hibernate.query.sqm.FrameKind; +import org.hibernate.query.common.FrameExclusion; +import org.hibernate.query.common.FrameKind; import org.hibernate.sql.ast.Clause; import org.hibernate.sql.ast.SqlAstJoinType; import org.hibernate.sql.ast.spi.AbstractSqlAstTranslator; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/CUBRIDDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/CUBRIDDialect.java index 4f818ac8b868..bf425eefe2f3 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/CUBRIDDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/CUBRIDDialect.java @@ -24,7 +24,7 @@ import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.query.SemanticException; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.service.ServiceRegistry; import org.hibernate.sql.ast.SqlAstTranslator; import org.hibernate.sql.ast.SqlAstTranslatorFactory; @@ -42,11 +42,11 @@ import jakarta.persistence.TemporalType; -import static org.hibernate.query.sqm.TemporalUnit.HOUR; -import static org.hibernate.query.sqm.TemporalUnit.MINUTE; -import static org.hibernate.query.sqm.TemporalUnit.NANOSECOND; -import static org.hibernate.query.sqm.TemporalUnit.NATIVE; -import static org.hibernate.query.sqm.TemporalUnit.SECOND; +import static org.hibernate.query.common.TemporalUnit.HOUR; +import static org.hibernate.query.common.TemporalUnit.MINUTE; +import static org.hibernate.query.common.TemporalUnit.NANOSECOND; +import static org.hibernate.query.common.TemporalUnit.NATIVE; +import static org.hibernate.query.common.TemporalUnit.SECOND; import static org.hibernate.type.SqlTypes.BINARY; import static org.hibernate.type.SqlTypes.BLOB; import static org.hibernate.type.SqlTypes.BOOLEAN; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/CacheDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/CacheDialect.java index 0419ab1b13ec..02e45053c9ed 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/CacheDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/CacheDialect.java @@ -40,7 +40,7 @@ import org.hibernate.internal.util.JdbcExceptionHelper; import org.hibernate.persister.entity.EntityPersister; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.sql.ast.SqlAstTranslator; import org.hibernate.sql.ast.SqlAstTranslatorFactory; import org.hibernate.sql.ast.spi.SqlAppender; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/CockroachLegacyDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/CockroachLegacyDialect.java index 7f1b206645ec..c7b7b744641f 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/CockroachLegacyDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/CockroachLegacyDialect.java @@ -51,7 +51,7 @@ import org.hibernate.query.SemanticException; import org.hibernate.query.sqm.IntervalType; import org.hibernate.dialect.NullOrdering; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.produce.function.StandardFunctionArgumentTypeResolvers; import org.hibernate.service.ServiceRegistry; import org.hibernate.sql.ast.SqlAstTranslator; @@ -80,9 +80,9 @@ import jakarta.persistence.TemporalType; import static org.hibernate.exception.spi.TemplatedViolatedConstraintNameExtractor.extractUsingTemplate; -import static org.hibernate.query.sqm.TemporalUnit.DAY; -import static org.hibernate.query.sqm.TemporalUnit.EPOCH; -import static org.hibernate.query.sqm.TemporalUnit.NATIVE; +import static org.hibernate.query.common.TemporalUnit.DAY; +import static org.hibernate.query.common.TemporalUnit.EPOCH; +import static org.hibernate.query.common.TemporalUnit.NATIVE; import static org.hibernate.type.SqlTypes.ARRAY; import static org.hibernate.type.SqlTypes.BINARY; import static org.hibernate.type.SqlTypes.BLOB; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DB2LegacyDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DB2LegacyDialect.java index e9787cf033a2..963e15a5ea42 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DB2LegacyDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DB2LegacyDialect.java @@ -70,7 +70,7 @@ import org.hibernate.procedure.spi.CallableStatementSupport; import org.hibernate.query.sqm.CastType; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.mutation.internal.cte.CteInsertStrategy; import org.hibernate.query.sqm.mutation.internal.cte.CteMutationStrategy; import org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DB2LegacySqlAstTranslator.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DB2LegacySqlAstTranslator.java index 4e68ab5bfd67..f06c36371c68 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DB2LegacySqlAstTranslator.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DB2LegacySqlAstTranslator.java @@ -16,7 +16,7 @@ import org.hibernate.query.IllegalQueryOperationException; import org.hibernate.query.derived.AnonymousTupleTableGroupProducer; import org.hibernate.query.sqm.ComparisonOperator; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.sql.ast.Clause; import org.hibernate.sql.ast.SqlAstNodeRenderingMode; import org.hibernate.sql.ast.spi.AbstractSqlAstTranslator; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DB2zLegacyDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DB2zLegacyDialect.java index 4f8ad5476d34..b074d94899fb 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DB2zLegacyDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DB2zLegacyDialect.java @@ -24,7 +24,7 @@ import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.mapping.Column; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.sql.ast.SqlAstTranslator; import org.hibernate.sql.ast.SqlAstTranslatorFactory; import org.hibernate.sql.ast.spi.StandardSqlAstTranslatorFactory; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DerbyDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DerbyDialect.java index b64369d16bf6..f336f52ffb8c 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DerbyDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DerbyDialect.java @@ -50,7 +50,7 @@ import org.hibernate.metamodel.spi.RuntimeModelCreationContext; import org.hibernate.query.sqm.CastType; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.mutation.spi.BeforeUseAction; import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableMutationStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableInsertStrategy; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DerbyLegacyDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DerbyLegacyDialect.java index 1cb9db7f5e74..6b660f8bceac 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DerbyLegacyDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DerbyLegacyDialect.java @@ -48,7 +48,7 @@ import org.hibernate.metamodel.spi.RuntimeModelCreationContext; import org.hibernate.query.sqm.CastType; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.mutation.spi.BeforeUseAction; import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableMutationStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableInsertStrategy; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/FirebirdDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/FirebirdDialect.java index 5a526a1fda13..5a2b7a89c088 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/FirebirdDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/FirebirdDialect.java @@ -57,10 +57,10 @@ import org.hibernate.metamodel.mapping.EntityMappingType; import org.hibernate.metamodel.spi.RuntimeModelCreationContext; import org.hibernate.query.sqm.CastType; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.query.sqm.IntervalType; import org.hibernate.dialect.NullOrdering; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.function.SqmFunctionRegistry; import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableInsertStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableMutationStrategy; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/H2LegacyDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/H2LegacyDialect.java index 4303434877f5..56384a4bec8a 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/H2LegacyDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/H2LegacyDialect.java @@ -48,10 +48,10 @@ import org.hibernate.metamodel.mapping.EntityMappingType; import org.hibernate.metamodel.spi.RuntimeModelCreationContext; import org.hibernate.query.sqm.CastType; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.query.sqm.IntervalType; import org.hibernate.dialect.NullOrdering; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.mutation.spi.BeforeUseAction; import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableInsertStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableMutationStrategy; @@ -86,7 +86,7 @@ import jakarta.persistence.TemporalType; -import static org.hibernate.query.sqm.TemporalUnit.SECOND; +import static org.hibernate.query.common.TemporalUnit.SECOND; import static org.hibernate.type.SqlTypes.ARRAY; import static org.hibernate.type.SqlTypes.BIGINT; import static org.hibernate.type.SqlTypes.BINARY; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/HANALegacyDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/HANALegacyDialect.java index 3dba675015c5..28ab4729cbd5 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/HANALegacyDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/HANALegacyDialect.java @@ -86,9 +86,9 @@ import org.hibernate.metamodel.spi.RuntimeModelCreationContext; import org.hibernate.procedure.internal.StandardCallableStatementSupport; import org.hibernate.procedure.spi.CallableStatementSupport; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.CastType; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableInsertStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableMutationStrategy; import org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/HSQLLegacyDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/HSQLLegacyDialect.java index de940482641d..1456bb9738e2 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/HSQLLegacyDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/HSQLLegacyDialect.java @@ -55,7 +55,7 @@ import org.hibernate.query.sqm.CastType; import org.hibernate.query.sqm.IntervalType; import org.hibernate.dialect.NullOrdering; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.mutation.spi.AfterUseAction; import org.hibernate.query.sqm.mutation.spi.BeforeUseAction; import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableInsertStrategy; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/InformixDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/InformixDialect.java index 75716029cb39..0cea4cac6d4c 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/InformixDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/InformixDialect.java @@ -49,7 +49,7 @@ import org.hibernate.metamodel.spi.RuntimeModelCreationContext; import org.hibernate.query.spi.QueryOptions; import org.hibernate.query.spi.QueryParameterBindings; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.internal.DomainParameterXref; import org.hibernate.query.sqm.mutation.spi.AfterUseAction; import org.hibernate.query.sqm.mutation.spi.BeforeUseAction; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/IngresDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/IngresDialect.java index d010ccd97389..29480c21fd38 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/IngresDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/IngresDialect.java @@ -30,9 +30,9 @@ import org.hibernate.metamodel.spi.RuntimeModelCreationContext; import org.hibernate.query.spi.QueryOptions; import org.hibernate.query.spi.QueryParameterBindings; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.internal.DomainParameterXref; import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableInsertStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableMutationStrategy; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/MimerSQLDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/MimerSQLDialect.java index a154734e541c..597ad5775db9 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/MimerSQLDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/MimerSQLDialect.java @@ -20,7 +20,7 @@ import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.query.SemanticException; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.service.ServiceRegistry; import org.hibernate.sql.ast.SqlAstTranslator; import org.hibernate.sql.ast.SqlAstTranslatorFactory; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/MySQLLegacyDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/MySQLLegacyDialect.java index 2221704f2887..cc8d6513bdd8 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/MySQLLegacyDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/MySQLLegacyDialect.java @@ -45,7 +45,7 @@ import org.hibernate.query.sqm.CastType; import org.hibernate.query.sqm.IntervalType; import org.hibernate.dialect.NullOrdering; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.function.SqmFunctionRegistry; import org.hibernate.query.sqm.mutation.spi.AfterUseAction; import org.hibernate.query.sqm.mutation.spi.BeforeUseAction; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/OracleLegacyDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/OracleLegacyDialect.java index b8b9772f9628..056f6613e894 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/OracleLegacyDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/OracleLegacyDialect.java @@ -62,9 +62,9 @@ import org.hibernate.query.SemanticException; import org.hibernate.query.spi.QueryOptions; import org.hibernate.query.sqm.CastType; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableInsertStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableMutationStrategy; import org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy; @@ -104,12 +104,12 @@ import static java.util.regex.Pattern.CASE_INSENSITIVE; import static org.hibernate.exception.spi.TemplatedViolatedConstraintNameExtractor.extractUsingTemplate; -import static org.hibernate.query.sqm.TemporalUnit.DAY; -import static org.hibernate.query.sqm.TemporalUnit.HOUR; -import static org.hibernate.query.sqm.TemporalUnit.MINUTE; -import static org.hibernate.query.sqm.TemporalUnit.MONTH; -import static org.hibernate.query.sqm.TemporalUnit.SECOND; -import static org.hibernate.query.sqm.TemporalUnit.YEAR; +import static org.hibernate.query.common.TemporalUnit.DAY; +import static org.hibernate.query.common.TemporalUnit.HOUR; +import static org.hibernate.query.common.TemporalUnit.MINUTE; +import static org.hibernate.query.common.TemporalUnit.MONTH; +import static org.hibernate.query.common.TemporalUnit.SECOND; +import static org.hibernate.query.common.TemporalUnit.YEAR; import static org.hibernate.type.SqlTypes.ARRAY; import static org.hibernate.type.SqlTypes.BIGINT; import static org.hibernate.type.SqlTypes.BINARY; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/OracleLegacySqlAstTranslator.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/OracleLegacySqlAstTranslator.java index 5af48c85d59f..76c279743224 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/OracleLegacySqlAstTranslator.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/OracleLegacySqlAstTranslator.java @@ -19,9 +19,9 @@ import org.hibernate.query.IllegalQueryOperationException; import org.hibernate.query.derived.AnonymousTupleTableGroupProducer; import org.hibernate.query.sqm.ComparisonOperator; -import org.hibernate.query.sqm.FetchClauseType; -import org.hibernate.query.sqm.FrameExclusion; -import org.hibernate.query.sqm.FrameKind; +import org.hibernate.query.common.FetchClauseType; +import org.hibernate.query.common.FrameExclusion; +import org.hibernate.query.common.FrameKind; import org.hibernate.sql.ast.Clause; import org.hibernate.sql.ast.SqlAstNodeRenderingMode; import org.hibernate.sql.ast.spi.AbstractSqlAstTranslator; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/PostgreSQLLegacyDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/PostgreSQLLegacyDialect.java index 655bd51af606..6c694dd4f0dd 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/PostgreSQLLegacyDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/PostgreSQLLegacyDialect.java @@ -60,9 +60,9 @@ import org.hibernate.query.SemanticException; import org.hibernate.query.spi.QueryOptions; import org.hibernate.query.sqm.CastType; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.mutation.internal.cte.CteInsertStrategy; import org.hibernate.query.sqm.mutation.internal.cte.CteMutationStrategy; import org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy; @@ -98,8 +98,8 @@ import jakarta.persistence.TemporalType; import static org.hibernate.exception.spi.TemplatedViolatedConstraintNameExtractor.extractUsingTemplate; -import static org.hibernate.query.sqm.TemporalUnit.DAY; -import static org.hibernate.query.sqm.TemporalUnit.EPOCH; +import static org.hibernate.query.common.TemporalUnit.DAY; +import static org.hibernate.query.common.TemporalUnit.EPOCH; import static org.hibernate.type.SqlTypes.ARRAY; import static org.hibernate.type.SqlTypes.BINARY; import static org.hibernate.type.SqlTypes.BLOB; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/PostgreSQLLegacySqlAstTranslator.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/PostgreSQLLegacySqlAstTranslator.java index 5ab957c5c6b6..42db7bf14e2f 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/PostgreSQLLegacySqlAstTranslator.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/PostgreSQLLegacySqlAstTranslator.java @@ -7,7 +7,7 @@ import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.metamodel.mapping.JdbcMappingContainer; import org.hibernate.query.sqm.ComparisonOperator; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.sql.ast.Clause; import org.hibernate.sql.ast.spi.AbstractSqlAstTranslator; import org.hibernate.sql.ast.tree.Statement; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/PostgresPlusLegacyDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/PostgresPlusLegacyDialect.java index 0c27cd5a0ef8..f4e8e38f79c7 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/PostgresPlusLegacyDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/PostgresPlusLegacyDialect.java @@ -15,7 +15,7 @@ import org.hibernate.engine.jdbc.dialect.spi.DialectResolutionInfo; import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.query.sqm.CastType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.produce.function.StandardFunctionArgumentTypeResolvers; import org.hibernate.sql.ast.SqlAstTranslator; import org.hibernate.sql.ast.SqlAstTranslatorFactory; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/RDMSOS2200Dialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/RDMSOS2200Dialect.java index f35f50d783be..8b5ea3a0d2db 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/RDMSOS2200Dialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/RDMSOS2200Dialect.java @@ -32,7 +32,7 @@ import org.hibernate.internal.CoreMessageLogger; import org.hibernate.persister.entity.EntityPersister; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.TrimSpec; import org.hibernate.sql.ast.SqlAstTranslator; import org.hibernate.sql.ast.SqlAstTranslatorFactory; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/RDMSOS2200SqlAstTranslator.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/RDMSOS2200SqlAstTranslator.java index c067088fe369..393037a7965e 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/RDMSOS2200SqlAstTranslator.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/RDMSOS2200SqlAstTranslator.java @@ -8,7 +8,7 @@ import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.query.sqm.ComparisonOperator; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.sql.ast.spi.AbstractSqlAstTranslator; import org.hibernate.sql.ast.spi.SqlSelection; import org.hibernate.sql.ast.tree.Statement; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SQLServerLegacyDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SQLServerLegacyDialect.java index 16ab474fb825..ef46b2f80366 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SQLServerLegacyDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SQLServerLegacyDialect.java @@ -53,9 +53,9 @@ import org.hibernate.mapping.CheckConstraint; import org.hibernate.mapping.Column; import org.hibernate.query.sqm.CastType; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.TrimSpec; import org.hibernate.service.ServiceRegistry; import org.hibernate.sql.ast.SqlAstNodeRenderingMode; @@ -93,7 +93,7 @@ import jakarta.persistence.TemporalType; import static org.hibernate.exception.spi.TemplatedViolatedConstraintNameExtractor.extractUsingTemplate; -import static org.hibernate.query.sqm.TemporalUnit.NANOSECOND; +import static org.hibernate.query.common.TemporalUnit.NANOSECOND; import static org.hibernate.query.sqm.produce.function.FunctionParameterType.INTEGER; import static org.hibernate.type.SqlTypes.*; import static org.hibernate.type.descriptor.DateTimeUtils.appendAsDate; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SQLServerLegacySqlAstTranslator.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SQLServerLegacySqlAstTranslator.java index 37b7999a1638..fe4b65b02918 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SQLServerLegacySqlAstTranslator.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SQLServerLegacySqlAstTranslator.java @@ -17,7 +17,7 @@ import org.hibernate.query.IllegalQueryOperationException; import org.hibernate.query.derived.AnonymousTupleTableGroupProducer; import org.hibernate.query.sqm.ComparisonOperator; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.sql.ast.Clause; import org.hibernate.sql.ast.SqlAstJoinType; import org.hibernate.sql.ast.SqlAstNodeRenderingMode; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SQLiteDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SQLiteDialect.java index 486666b3506f..496dc0fc7e71 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SQLiteDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SQLiteDialect.java @@ -40,7 +40,7 @@ import org.hibernate.query.SemanticException; import org.hibernate.query.sqm.IntervalType; import org.hibernate.dialect.NullOrdering; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.TrimSpec; import org.hibernate.query.sqm.produce.function.StandardFunctionReturnTypeResolvers; import org.hibernate.service.ServiceRegistry; @@ -62,11 +62,11 @@ import jakarta.persistence.TemporalType; import static org.hibernate.exception.spi.TemplatedViolatedConstraintNameExtractor.extractUsingTemplate; -import static org.hibernate.query.sqm.TemporalUnit.DAY; -import static org.hibernate.query.sqm.TemporalUnit.EPOCH; -import static org.hibernate.query.sqm.TemporalUnit.MONTH; -import static org.hibernate.query.sqm.TemporalUnit.QUARTER; -import static org.hibernate.query.sqm.TemporalUnit.YEAR; +import static org.hibernate.query.common.TemporalUnit.DAY; +import static org.hibernate.query.common.TemporalUnit.EPOCH; +import static org.hibernate.query.common.TemporalUnit.MONTH; +import static org.hibernate.query.common.TemporalUnit.QUARTER; +import static org.hibernate.query.common.TemporalUnit.YEAR; import static org.hibernate.query.sqm.produce.function.FunctionParameterType.INTEGER; import static org.hibernate.query.sqm.produce.function.FunctionParameterType.NUMERIC; import static org.hibernate.query.sqm.produce.function.FunctionParameterType.STRING; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SingleStoreDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SingleStoreDialect.java index 72561d0aae3e..acfd9ff0d855 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SingleStoreDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SingleStoreDialect.java @@ -66,7 +66,7 @@ import org.hibernate.metamodel.spi.RuntimeModelCreationContext; import org.hibernate.query.sqm.CastType; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.function.SqmFunctionRegistry; import org.hibernate.query.sqm.mutation.spi.AfterUseAction; import org.hibernate.query.sqm.mutation.spi.BeforeUseAction; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SybaseASELegacyDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SybaseASELegacyDialect.java index d56db0a8e19a..21b4fe8c0ea6 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SybaseASELegacyDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SybaseASELegacyDialect.java @@ -30,7 +30,7 @@ import org.hibernate.exception.spi.ViolatedConstraintNameExtractor; import org.hibernate.internal.util.JdbcExceptionHelper; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.service.ServiceRegistry; import org.hibernate.sql.ast.SqlAstTranslator; import org.hibernate.sql.ast.SqlAstTranslatorFactory; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SybaseLegacyDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SybaseLegacyDialect.java index dbc4f8b62779..e2e924a790ce 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SybaseLegacyDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/SybaseLegacyDialect.java @@ -40,7 +40,7 @@ import org.hibernate.query.spi.QueryParameterBindings; import org.hibernate.query.sqm.CastType; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.internal.DomainParameterXref; import org.hibernate.query.sqm.sql.SqmTranslator; import org.hibernate.query.sqm.sql.SqmTranslatorFactory; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/TeradataDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/TeradataDialect.java index 08e001854704..cf4edde4de2e 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/TeradataDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/TeradataDialect.java @@ -36,7 +36,7 @@ import org.hibernate.metamodel.spi.RuntimeModelCreationContext; import org.hibernate.query.spi.QueryOptions; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableInsertStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableMutationStrategy; import org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy; diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/TimesTenDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/TimesTenDialect.java index 651ea147a7e2..80a27666c872 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/TimesTenDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/TimesTenDialect.java @@ -33,7 +33,7 @@ import org.hibernate.metamodel.spi.RuntimeModelCreationContext; import org.hibernate.persister.entity.EntityPersister; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableInsertStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableMutationStrategy; import org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/CockroachDialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/CockroachDialect.java index fef9b37c5625..531c76681e2f 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/CockroachDialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/CockroachDialect.java @@ -50,7 +50,7 @@ import org.hibernate.internal.util.config.ConfigurationHelper; import org.hibernate.query.SemanticException; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.produce.function.StandardFunctionArgumentTypeResolvers; import org.hibernate.service.ServiceRegistry; import org.hibernate.sql.ast.SqlAstTranslator; @@ -83,9 +83,9 @@ import static org.hibernate.cfg.DialectSpecificSettings.COCKROACH_VERSION_STRING; import static org.hibernate.exception.spi.TemplatedViolatedConstraintNameExtractor.extractUsingTemplate; import static org.hibernate.internal.util.JdbcExceptionHelper.extractSqlState; -import static org.hibernate.query.sqm.TemporalUnit.DAY; -import static org.hibernate.query.sqm.TemporalUnit.EPOCH; -import static org.hibernate.query.sqm.TemporalUnit.NATIVE; +import static org.hibernate.query.common.TemporalUnit.DAY; +import static org.hibernate.query.common.TemporalUnit.EPOCH; +import static org.hibernate.query.common.TemporalUnit.NATIVE; import static org.hibernate.type.SqlTypes.ARRAY; import static org.hibernate.type.SqlTypes.BINARY; import static org.hibernate.type.SqlTypes.BLOB; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/DB2Dialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/DB2Dialect.java index e8e01dedf130..a6760d87ed39 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/DB2Dialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/DB2Dialect.java @@ -60,7 +60,7 @@ import org.hibernate.procedure.spi.CallableStatementSupport; import org.hibernate.query.sqm.CastType; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.mutation.internal.cte.CteInsertStrategy; import org.hibernate.query.sqm.mutation.internal.cte.CteMutationStrategy; import org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/DB2SqlAstTranslator.java b/hibernate-core/src/main/java/org/hibernate/dialect/DB2SqlAstTranslator.java index 7159024ee897..2ff3696aeeb1 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/DB2SqlAstTranslator.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/DB2SqlAstTranslator.java @@ -15,7 +15,7 @@ import org.hibernate.query.IllegalQueryOperationException; import org.hibernate.query.derived.AnonymousTupleTableGroupProducer; import org.hibernate.query.sqm.ComparisonOperator; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.sql.ast.Clause; import org.hibernate.sql.ast.SqlAstNodeRenderingMode; import org.hibernate.sql.ast.spi.AbstractSqlAstTranslator; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/DB2zDialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/DB2zDialect.java index 8db74f6ce112..7bb076bad151 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/DB2zDialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/DB2zDialect.java @@ -17,7 +17,7 @@ import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.mapping.Column; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.sql.ast.SqlAstTranslator; import org.hibernate.sql.ast.SqlAstTranslatorFactory; import org.hibernate.sql.ast.spi.StandardSqlAstTranslatorFactory; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java index d4d2593a6256..f69b7c18c5f6 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java @@ -124,8 +124,8 @@ import org.hibernate.procedure.internal.StandardCallableStatementSupport; import org.hibernate.procedure.spi.CallableStatementSupport; import org.hibernate.query.Query; -import org.hibernate.query.sqm.FetchClauseType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.FetchClauseType; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.hql.HqlTranslator; import org.hibernate.query.spi.QueryOptions; import org.hibernate.query.sqm.CastType; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/DialectDelegateWrapper.java b/hibernate-core/src/main/java/org/hibernate/dialect/DialectDelegateWrapper.java index 3a904fd83d95..15bbc515b7f0 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/DialectDelegateWrapper.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/DialectDelegateWrapper.java @@ -60,9 +60,9 @@ import org.hibernate.query.hql.HqlTranslator; import org.hibernate.query.spi.QueryOptions; import org.hibernate.query.sqm.CastType; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.TrimSpec; import org.hibernate.query.sqm.mutation.spi.AfterUseAction; import org.hibernate.query.sqm.mutation.spi.BeforeUseAction; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/H2Dialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/H2Dialect.java index ab8433f0be0c..b815da25fc4e 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/H2Dialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/H2Dialect.java @@ -43,9 +43,9 @@ import org.hibernate.metamodel.spi.RuntimeModelCreationContext; import org.hibernate.persister.entity.mutation.EntityMutationTarget; import org.hibernate.query.sqm.CastType; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableInsertStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableMutationStrategy; import org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy; @@ -79,7 +79,7 @@ import jakarta.persistence.TemporalType; import static org.hibernate.internal.util.JdbcExceptionHelper.extractErrorCode; -import static org.hibernate.query.sqm.TemporalUnit.SECOND; +import static org.hibernate.query.common.TemporalUnit.SECOND; import static org.hibernate.type.SqlTypes.BIGINT; import static org.hibernate.type.SqlTypes.BINARY; import static org.hibernate.type.SqlTypes.CHAR; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/HANADialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/HANADialect.java index d78d98c92618..04fa0766a007 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/HANADialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/HANADialect.java @@ -49,7 +49,7 @@ import org.hibernate.procedure.spi.CallableStatementSupport; import org.hibernate.query.sqm.CastType; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableInsertStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableMutationStrategy; import org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/HSQLDialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/HSQLDialect.java index 967fbdc80897..eacdc3a8eb6b 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/HSQLDialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/HSQLDialect.java @@ -35,7 +35,7 @@ import org.hibernate.metamodel.spi.RuntimeModelCreationContext; import org.hibernate.query.sqm.CastType; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.mutation.spi.AfterUseAction; import org.hibernate.query.sqm.mutation.spi.BeforeUseAction; import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableInsertStrategy; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/MySQLDialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/MySQLDialect.java index 36917cbff21e..9232a0d8d6fe 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/MySQLDialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/MySQLDialect.java @@ -49,7 +49,7 @@ import org.hibernate.metamodel.spi.RuntimeModelCreationContext; import org.hibernate.query.sqm.CastType; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.function.SqmFunctionRegistry; import org.hibernate.query.sqm.mutation.spi.AfterUseAction; import org.hibernate.query.sqm.mutation.spi.BeforeUseAction; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/OracleDialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/OracleDialect.java index 1d1a0d781976..0a90f5bf4d17 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/OracleDialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/OracleDialect.java @@ -57,9 +57,9 @@ import org.hibernate.query.SemanticException; import org.hibernate.query.spi.QueryOptions; import org.hibernate.query.sqm.CastType; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableInsertStrategy; import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableMutationStrategy; import org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy; @@ -113,12 +113,12 @@ import static org.hibernate.internal.util.JdbcExceptionHelper.extractErrorCode; import static org.hibernate.internal.util.StringHelper.isEmpty; import static org.hibernate.internal.util.StringHelper.isNotEmpty; -import static org.hibernate.query.sqm.TemporalUnit.DAY; -import static org.hibernate.query.sqm.TemporalUnit.HOUR; -import static org.hibernate.query.sqm.TemporalUnit.MINUTE; -import static org.hibernate.query.sqm.TemporalUnit.MONTH; -import static org.hibernate.query.sqm.TemporalUnit.SECOND; -import static org.hibernate.query.sqm.TemporalUnit.YEAR; +import static org.hibernate.query.common.TemporalUnit.DAY; +import static org.hibernate.query.common.TemporalUnit.HOUR; +import static org.hibernate.query.common.TemporalUnit.MINUTE; +import static org.hibernate.query.common.TemporalUnit.MONTH; +import static org.hibernate.query.common.TemporalUnit.SECOND; +import static org.hibernate.query.common.TemporalUnit.YEAR; import static org.hibernate.type.SqlTypes.ARRAY; import static org.hibernate.type.SqlTypes.BIGINT; import static org.hibernate.type.SqlTypes.BINARY; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/OracleSqlAstTranslator.java b/hibernate-core/src/main/java/org/hibernate/dialect/OracleSqlAstTranslator.java index e10d6cfb90ce..9ad95a4b7645 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/OracleSqlAstTranslator.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/OracleSqlAstTranslator.java @@ -17,9 +17,9 @@ import org.hibernate.query.IllegalQueryOperationException; import org.hibernate.query.derived.AnonymousTupleTableGroupProducer; import org.hibernate.query.sqm.ComparisonOperator; -import org.hibernate.query.sqm.FetchClauseType; -import org.hibernate.query.sqm.FrameExclusion; -import org.hibernate.query.sqm.FrameKind; +import org.hibernate.query.common.FetchClauseType; +import org.hibernate.query.common.FrameExclusion; +import org.hibernate.query.common.FrameKind; import org.hibernate.sql.ast.Clause; import org.hibernate.sql.ast.SqlAstNodeRenderingMode; import org.hibernate.sql.ast.spi.SqlSelection; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/PostgreSQLDialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/PostgreSQLDialect.java index 27ebf068ae1f..fd59b18ae0c5 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/PostgreSQLDialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/PostgreSQLDialect.java @@ -58,9 +58,9 @@ import org.hibernate.query.SemanticException; import org.hibernate.query.spi.QueryOptions; import org.hibernate.query.sqm.CastType; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.mutation.internal.cte.CteInsertStrategy; import org.hibernate.query.sqm.mutation.internal.cte.CteMutationStrategy; import org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy; @@ -100,8 +100,8 @@ import jakarta.persistence.TemporalType; import static org.hibernate.exception.spi.TemplatedViolatedConstraintNameExtractor.extractUsingTemplate; -import static org.hibernate.query.sqm.TemporalUnit.DAY; -import static org.hibernate.query.sqm.TemporalUnit.EPOCH; +import static org.hibernate.query.common.TemporalUnit.DAY; +import static org.hibernate.query.common.TemporalUnit.EPOCH; import static org.hibernate.type.SqlTypes.ARRAY; import static org.hibernate.type.SqlTypes.BINARY; import static org.hibernate.type.SqlTypes.BLOB; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/PostgreSQLSqlAstTranslator.java b/hibernate-core/src/main/java/org/hibernate/dialect/PostgreSQLSqlAstTranslator.java index 7bf9cfa51b3a..00a7c36200c1 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/PostgreSQLSqlAstTranslator.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/PostgreSQLSqlAstTranslator.java @@ -7,7 +7,7 @@ import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.metamodel.mapping.JdbcMappingContainer; import org.hibernate.query.sqm.ComparisonOperator; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.sql.ast.Clause; import org.hibernate.sql.ast.tree.Statement; import org.hibernate.sql.ast.tree.cte.CteMaterialization; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/PostgresPlusDialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/PostgresPlusDialect.java index 31dfed72be95..6ff6daf2cc36 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/PostgresPlusDialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/PostgresPlusDialect.java @@ -14,7 +14,7 @@ import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.persister.entity.mutation.EntityMutationTarget; import org.hibernate.query.sqm.CastType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.produce.function.StandardFunctionArgumentTypeResolvers; import org.hibernate.sql.ast.SqlAstTranslator; import org.hibernate.sql.ast.SqlAstTranslatorFactory; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/SQLServerDialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/SQLServerDialect.java index 74714a22c7d3..7c6628119865 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/SQLServerDialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/SQLServerDialect.java @@ -58,9 +58,9 @@ import org.hibernate.procedure.internal.SQLServerCallableStatementSupport; import org.hibernate.procedure.spi.CallableStatementSupport; import org.hibernate.query.sqm.CastType; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.TrimSpec; import org.hibernate.service.ServiceRegistry; import org.hibernate.sql.ast.SqlAstNodeRenderingMode; @@ -93,7 +93,7 @@ import static org.hibernate.internal.util.JdbcExceptionHelper.extractErrorCode; import static org.hibernate.internal.util.JdbcExceptionHelper.extractSqlState; import static org.hibernate.internal.util.StringHelper.isNotEmpty; -import static org.hibernate.query.sqm.TemporalUnit.NANOSECOND; +import static org.hibernate.query.common.TemporalUnit.NANOSECOND; import static org.hibernate.query.sqm.produce.function.FunctionParameterType.INTEGER; import static org.hibernate.type.SqlTypes.BLOB; import static org.hibernate.type.SqlTypes.CLOB; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/SQLServerSqlAstTranslator.java b/hibernate-core/src/main/java/org/hibernate/dialect/SQLServerSqlAstTranslator.java index e5955ad50d1e..6262ab70a808 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/SQLServerSqlAstTranslator.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/SQLServerSqlAstTranslator.java @@ -16,7 +16,7 @@ import org.hibernate.query.IllegalQueryOperationException; import org.hibernate.query.derived.AnonymousTupleTableGroupProducer; import org.hibernate.query.sqm.ComparisonOperator; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.sql.ast.Clause; import org.hibernate.sql.ast.SqlAstJoinType; import org.hibernate.sql.ast.SqlAstNodeRenderingMode; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/SpannerDialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/SpannerDialect.java index 45613930eb90..1b87e97a4803 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/SpannerDialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/SpannerDialect.java @@ -34,7 +34,7 @@ import org.hibernate.persister.entity.EntityPersister; import org.hibernate.query.SemanticException; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.sql.ast.SqlAstTranslator; import org.hibernate.sql.ast.SqlAstTranslatorFactory; import org.hibernate.sql.ast.spi.SqlAppender; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/SybaseASEDialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/SybaseASEDialect.java index 3248b0a5d45a..23abf5b6c542 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/SybaseASEDialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/SybaseASEDialect.java @@ -29,7 +29,7 @@ import org.hibernate.internal.util.JdbcExceptionHelper; import org.hibernate.internal.util.config.ConfigurationHelper; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.service.ServiceRegistry; import org.hibernate.sql.ast.SqlAstTranslator; import org.hibernate.sql.ast.SqlAstTranslatorFactory; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/SybaseDialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/SybaseDialect.java index 03a38fa20311..faf05c4c0f7f 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/SybaseDialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/SybaseDialect.java @@ -37,7 +37,7 @@ import org.hibernate.query.spi.QueryParameterBindings; import org.hibernate.query.sqm.CastType; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.internal.DomainParameterXref; import org.hibernate.query.sqm.sql.SqmTranslator; import org.hibernate.query.sqm.sql.SqmTranslatorFactory; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/TiDBDialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/TiDBDialect.java index dd1c2dfb2874..93ed1d8e4a4c 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/TiDBDialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/TiDBDialect.java @@ -10,7 +10,7 @@ import org.hibernate.engine.jdbc.dialect.spi.DialectResolutionInfo; import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.sql.ast.SqlAstTranslator; import org.hibernate.sql.ast.SqlAstTranslatorFactory; import org.hibernate.sql.ast.spi.StandardSqlAstTranslatorFactory; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/function/DateTruncEmulation.java b/hibernate-core/src/main/java/org/hibernate/dialect/function/DateTruncEmulation.java index 5dafaa537f82..00910f996f43 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/function/DateTruncEmulation.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/function/DateTruncEmulation.java @@ -9,7 +9,7 @@ import org.hibernate.query.ReturnableType; import org.hibernate.query.spi.QueryEngine; import org.hibernate.query.sqm.NodeBuilder; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor; import org.hibernate.query.sqm.function.FunctionRenderer; import org.hibernate.query.sqm.function.SelfRenderingSqmFunction; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/function/ExtractFunction.java b/hibernate-core/src/main/java/org/hibernate/dialect/function/ExtractFunction.java index 65f26d86f2aa..e33755231f1b 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/function/ExtractFunction.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/function/ExtractFunction.java @@ -7,7 +7,7 @@ import org.hibernate.dialect.Dialect; import org.hibernate.query.ReturnableType; import org.hibernate.query.SemanticException; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.spi.QueryEngine; import org.hibernate.query.sqm.NodeBuilder; import org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor; @@ -34,7 +34,7 @@ import static java.util.Arrays.asList; import static org.hibernate.query.sqm.BinaryArithmeticOperator.*; -import static org.hibernate.query.sqm.TemporalUnit.*; +import static org.hibernate.query.common.TemporalUnit.*; import static org.hibernate.query.sqm.produce.function.FunctionParameterType.TEMPORAL; import static org.hibernate.query.sqm.produce.function.FunctionParameterType.TEMPORAL_UNIT; import static org.hibernate.usertype.internal.AbstractTimeZoneStorageCompositeUserType.ZONE_OFFSET_NAME; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/function/FormatFunction.java b/hibernate-core/src/main/java/org/hibernate/dialect/function/FormatFunction.java index 302bd8940a26..3a14a5a2fe11 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/function/FormatFunction.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/function/FormatFunction.java @@ -12,7 +12,7 @@ import org.hibernate.metamodel.mapping.MappingModelExpressible; import org.hibernate.query.ReturnableType; import org.hibernate.query.spi.QueryEngine; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor; import org.hibernate.query.sqm.function.FunctionRenderer; import org.hibernate.query.sqm.function.MultipatternSqmFunctionDescriptor; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/function/IntegralTimestampaddFunction.java b/hibernate-core/src/main/java/org/hibernate/dialect/function/IntegralTimestampaddFunction.java index 2b1a28ad2db9..e234946560d9 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/function/IntegralTimestampaddFunction.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/function/IntegralTimestampaddFunction.java @@ -7,7 +7,7 @@ import org.hibernate.dialect.Dialect; import org.hibernate.metamodel.mapping.BasicValuedMapping; import org.hibernate.query.ReturnableType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.function.SelfRenderingFunctionSqlAstExpression; import org.hibernate.sql.ast.SqlAstTranslator; import org.hibernate.sql.ast.spi.SqlAppender; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/function/OracleTruncFunction.java b/hibernate-core/src/main/java/org/hibernate/dialect/function/OracleTruncFunction.java index 25597474cbf5..4d2fd21b2b74 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/function/OracleTruncFunction.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/function/OracleTruncFunction.java @@ -9,7 +9,7 @@ import org.hibernate.query.ReturnableType; import org.hibernate.query.spi.QueryEngine; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.function.FunctionRenderer; import org.hibernate.query.sqm.function.SelfRenderingSqmFunction; import org.hibernate.query.sqm.produce.function.ArgumentsValidator; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/function/SybaseTruncFunction.java b/hibernate-core/src/main/java/org/hibernate/dialect/function/SybaseTruncFunction.java index bbf9f7437d93..ee03c58f9e60 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/function/SybaseTruncFunction.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/function/SybaseTruncFunction.java @@ -10,7 +10,7 @@ import org.hibernate.query.ReturnableType; import org.hibernate.query.spi.QueryEngine; import org.hibernate.query.sqm.NodeBuilder; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.function.SelfRenderingSqmFunction; import org.hibernate.query.sqm.tree.SqmTypedNode; import org.hibernate.query.sqm.tree.expression.SqmExtractUnit; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/function/TimestampaddFunction.java b/hibernate-core/src/main/java/org/hibernate/dialect/function/TimestampaddFunction.java index 88ac74aa2367..6874f846c38c 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/function/TimestampaddFunction.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/function/TimestampaddFunction.java @@ -8,7 +8,7 @@ import org.hibernate.dialect.Dialect; import org.hibernate.query.ReturnableType; import org.hibernate.query.sqm.IntervalType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.function.AbstractSqmSelfRenderingFunctionDescriptor; import org.hibernate.query.sqm.function.SelfRenderingFunctionSqlAstExpression; import org.hibernate.query.sqm.produce.function.ArgumentTypesValidator; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/function/TimestampdiffFunction.java b/hibernate-core/src/main/java/org/hibernate/dialect/function/TimestampdiffFunction.java index 854720e8625c..f5f9407ae46c 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/function/TimestampdiffFunction.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/function/TimestampdiffFunction.java @@ -11,7 +11,7 @@ import org.hibernate.metamodel.mapping.BasicValuedMapping; import org.hibernate.metamodel.mapping.JdbcMappingContainer; import org.hibernate.query.ReturnableType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.function.AbstractSqmSelfRenderingFunctionDescriptor; import org.hibernate.query.sqm.function.SelfRenderingFunctionSqlAstExpression; import org.hibernate.query.sqm.produce.function.ArgumentTypesValidator; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/function/TruncFunction.java b/hibernate-core/src/main/java/org/hibernate/dialect/function/TruncFunction.java index 9f328eaef83b..017fd56a5e35 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/function/TruncFunction.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/function/TruncFunction.java @@ -10,7 +10,7 @@ import org.hibernate.query.ReturnableType; import org.hibernate.query.spi.QueryEngine; import org.hibernate.query.sqm.NodeBuilder; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor; import org.hibernate.query.sqm.function.FunctionRenderer; import org.hibernate.query.sqm.function.SelfRenderingSqmFunction; diff --git a/hibernate-core/src/main/java/org/hibernate/engine/spi/ExecuteUpdateResultCheckStyle.java b/hibernate-core/src/main/java/org/hibernate/engine/spi/ExecuteUpdateResultCheckStyle.java index 99c16e0cced1..23ab0c4c1479 100644 --- a/hibernate-core/src/main/java/org/hibernate/engine/spi/ExecuteUpdateResultCheckStyle.java +++ b/hibernate-core/src/main/java/org/hibernate/engine/spi/ExecuteUpdateResultCheckStyle.java @@ -4,7 +4,6 @@ */ package org.hibernate.engine.spi; -import org.hibernate.AssertionFailure; import org.hibernate.annotations.ResultCheckStyle; import org.checkerframework.checker.nullness.qual.Nullable; diff --git a/hibernate-core/src/main/java/org/hibernate/query/JpaTuple.java b/hibernate-core/src/main/java/org/hibernate/query/JpaTuple.java deleted file mode 100644 index 06bfef052660..000000000000 --- a/hibernate-core/src/main/java/org/hibernate/query/JpaTuple.java +++ /dev/null @@ -1,19 +0,0 @@ -/* - * SPDX-License-Identifier: LGPL-2.1-or-later - * Copyright Red Hat Inc. and Hibernate Authors - */ -package org.hibernate.query; - -import org.hibernate.Incubating; - -import jakarta.persistence.Tuple; - -/** - * Hibernate extension to the Jakarta Persistence {@link Tuple} - * contract - * - * @author Steve Ebersole - */ -@Incubating -public interface JpaTuple extends Tuple { -} diff --git a/hibernate-core/src/main/java/org/hibernate/query/QueryLogging.java b/hibernate-core/src/main/java/org/hibernate/query/QueryLogging.java index 71c80b2e9e5f..924af297e9df 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/QueryLogging.java +++ b/hibernate-core/src/main/java/org/hibernate/query/QueryLogging.java @@ -5,6 +5,7 @@ package org.hibernate.query; import org.hibernate.HibernateException; +import org.hibernate.Internal; import org.hibernate.internal.log.SubSystemLogging; import org.jboss.logging.BasicLogger; @@ -30,6 +31,7 @@ name = QueryLogging.LOGGER_NAME, description = "Logging related to Query processing" ) +@Internal public interface QueryLogging extends BasicLogger { String LOGGER_NAME = SubSystemLogging.BASE + ".query"; diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/FetchClauseType.java b/hibernate-core/src/main/java/org/hibernate/query/common/FetchClauseType.java similarity index 94% rename from hibernate-core/src/main/java/org/hibernate/query/sqm/FetchClauseType.java rename to hibernate-core/src/main/java/org/hibernate/query/common/FetchClauseType.java index 3adf79c2fdd0..2a6a96cb05a5 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/FetchClauseType.java +++ b/hibernate-core/src/main/java/org/hibernate/query/common/FetchClauseType.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: LGPL-2.1-or-later * Copyright Red Hat Inc. and Hibernate Authors */ -package org.hibernate.query.sqm; +package org.hibernate.query.common; /** * The kind of fetch to use for the {@code FETCH} clause. diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/FrameExclusion.java b/hibernate-core/src/main/java/org/hibernate/query/common/FrameExclusion.java similarity index 85% rename from hibernate-core/src/main/java/org/hibernate/query/sqm/FrameExclusion.java rename to hibernate-core/src/main/java/org/hibernate/query/common/FrameExclusion.java index edc0418ecc87..28e49c56218b 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/FrameExclusion.java +++ b/hibernate-core/src/main/java/org/hibernate/query/common/FrameExclusion.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: LGPL-2.1-or-later * Copyright Red Hat Inc. and Hibernate Authors */ -package org.hibernate.query.sqm; +package org.hibernate.query.common; /** * @author Christian Beikov diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/FrameKind.java b/hibernate-core/src/main/java/org/hibernate/query/common/FrameKind.java similarity index 87% rename from hibernate-core/src/main/java/org/hibernate/query/sqm/FrameKind.java rename to hibernate-core/src/main/java/org/hibernate/query/common/FrameKind.java index 3a03f9059839..aeb1c2279d5f 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/FrameKind.java +++ b/hibernate-core/src/main/java/org/hibernate/query/common/FrameKind.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: LGPL-2.1-or-later * Copyright Red Hat Inc. and Hibernate Authors */ -package org.hibernate.query.sqm; +package org.hibernate.query.common; /** * @author Christian Beikov diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/FrameMode.java b/hibernate-core/src/main/java/org/hibernate/query/common/FrameMode.java similarity index 83% rename from hibernate-core/src/main/java/org/hibernate/query/sqm/FrameMode.java rename to hibernate-core/src/main/java/org/hibernate/query/common/FrameMode.java index 7c9d3095e857..181abdfdaee1 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/FrameMode.java +++ b/hibernate-core/src/main/java/org/hibernate/query/common/FrameMode.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: LGPL-2.1-or-later * Copyright Red Hat Inc. and Hibernate Authors */ -package org.hibernate.query.sqm; +package org.hibernate.query.common; /** * @author Christian Beikov diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/TemporalUnit.java b/hibernate-core/src/main/java/org/hibernate/query/common/TemporalUnit.java similarity index 97% rename from hibernate-core/src/main/java/org/hibernate/query/sqm/TemporalUnit.java rename to hibernate-core/src/main/java/org/hibernate/query/common/TemporalUnit.java index d08fbce6ea21..c278f855c978 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/TemporalUnit.java +++ b/hibernate-core/src/main/java/org/hibernate/query/common/TemporalUnit.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: LGPL-2.1-or-later * Copyright Red Hat Inc. and Hibernate Authors */ -package org.hibernate.query.sqm; +package org.hibernate.query.common; import org.hibernate.dialect.Dialect; import org.hibernate.query.SemanticException; @@ -28,6 +28,8 @@ * according to capabilities of the database platform. * * @see Dialect#extractPattern(TemporalUnit) + * @see org.hibernate.query.criteria.HibernateCriteriaBuilder#duration(long, TemporalUnit) + * @see org.hibernate.query.criteria.HibernateCriteriaBuilder#durationByUnit(TemporalUnit, jakarta.persistence.criteria.Expression) * * @author Gavin King */ diff --git a/hibernate-core/src/main/java/org/hibernate/query/common/package-info.java b/hibernate-core/src/main/java/org/hibernate/query/common/package-info.java new file mode 100644 index 000000000000..f07ac15327fe --- /dev/null +++ b/hibernate-core/src/main/java/org/hibernate/query/common/package-info.java @@ -0,0 +1,15 @@ +/* + * SPDX-License-Identifier: LGPL-2.1-or-later + * Copyright Red Hat Inc. and Hibernate Authors + */ + +/** + * Common APIs used internally, in the SQL tree, + * in the dialects, and in the criteria query API. + * + * @see org.hibernate.query.common.TemporalUnit + */ +@Incubating +package org.hibernate.query.common; + +import org.hibernate.Incubating; diff --git a/hibernate-core/src/main/java/org/hibernate/query/criteria/CriteriaDefinition.java b/hibernate-core/src/main/java/org/hibernate/query/criteria/CriteriaDefinition.java index 292fc686ea3f..ee1e4b2ad103 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/criteria/CriteriaDefinition.java +++ b/hibernate-core/src/main/java/org/hibernate/query/criteria/CriteriaDefinition.java @@ -15,7 +15,7 @@ import org.hibernate.query.QueryProducer; import org.hibernate.query.SelectionQuery; import org.hibernate.query.criteria.spi.HibernateCriteriaBuilderDelegate; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.query.sqm.tree.SqmCopyContext; import org.hibernate.query.sqm.tree.select.SqmSelectStatement; diff --git a/hibernate-core/src/main/java/org/hibernate/query/criteria/HibernateCriteriaBuilder.java b/hibernate-core/src/main/java/org/hibernate/query/criteria/HibernateCriteriaBuilder.java index adf78c594320..4b0ec85fafe2 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/criteria/HibernateCriteriaBuilder.java +++ b/hibernate-core/src/main/java/org/hibernate/query/criteria/HibernateCriteriaBuilder.java @@ -21,8 +21,8 @@ import org.hibernate.Incubating; import org.hibernate.query.NullPrecedence; import org.hibernate.query.SortDirection; -import org.hibernate.query.sqm.FrameKind; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.FrameKind; +import org.hibernate.query.common.TemporalUnit; import jakarta.persistence.Tuple; import jakarta.persistence.criteria.AbstractQuery; @@ -525,7 +525,7 @@ default JpaSubQuery except(Subquery query1, Subquery... q * A literal {@link Duration}, for example, "five days" or "30 minutes". * @since 6.3 */ - @Incubating // layer breaker (leaks SQM type) + @Incubating JpaExpression duration(long magnitude, TemporalUnit unit); /** @@ -535,7 +535,7 @@ default JpaSubQuery except(Subquery query1, Subquery... q * @return the magnitude of the duration measured in the given units * @since 6.3 */ - @Incubating // layer breaker (leaks SQM type) + @Incubating JpaExpression durationByUnit(TemporalUnit unit, Expression duration); /** @@ -1198,7 +1198,7 @@ default JpaOrder sort( JpaFunction format(Expression datetime, String pattern); /** - * Extracts the {@link org.hibernate.query.sqm.TemporalUnit#YEAR} of a date, time, or datetime expression. + * Extracts the {@link TemporalUnit#YEAR} of a date, time, or datetime expression. * * @param datetime the date, time, or datetime to extract the value from * @@ -1208,7 +1208,7 @@ default JpaOrder sort( JpaFunction year(Expression datetime); /** - * Extracts the {@link org.hibernate.query.sqm.TemporalUnit#MONTH} of a date, time, or datetime expression. + * Extracts the {@link TemporalUnit#MONTH} of a date, time, or datetime expression. * * @param datetime the date, time, or datetime to extract the value from * @@ -1218,7 +1218,7 @@ default JpaOrder sort( JpaFunction month(Expression datetime); /** - * Extracts the {@link org.hibernate.query.sqm.TemporalUnit#DAY} of a date, time, or datetime expression. + * Extracts the {@link TemporalUnit#DAY} of a date, time, or datetime expression. * * @param datetime the date, time, or datetime to extract the value from * @@ -1228,7 +1228,7 @@ default JpaOrder sort( JpaFunction day(Expression datetime); /** - * Extracts the {@link org.hibernate.query.sqm.TemporalUnit#HOUR} of a date, time, or datetime expression. + * Extracts the {@link TemporalUnit#HOUR} of a date, time, or datetime expression. * * @param datetime the date, time, or datetime to extract the value from * @@ -1238,7 +1238,7 @@ default JpaOrder sort( JpaFunction hour(Expression datetime); /** - * Extracts the {@link org.hibernate.query.sqm.TemporalUnit#MINUTE} of a date, time, or datetime expression. + * Extracts the {@link TemporalUnit#MINUTE} of a date, time, or datetime expression. * * @param datetime the date, time, or datetime to extract the value from * @@ -1248,7 +1248,7 @@ default JpaOrder sort( JpaFunction minute(Expression datetime); /** - * Extracts the {@link org.hibernate.query.sqm.TemporalUnit#SECOND} of a date, time, or datetime expression. + * Extracts the {@link TemporalUnit#SECOND} of a date, time, or datetime expression. * * @param datetime the date, time, or datetime to extract the value from * diff --git a/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaCriteriaQuery.java b/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaCriteriaQuery.java index cb7370746146..f52a96b27593 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaCriteriaQuery.java +++ b/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaCriteriaQuery.java @@ -7,7 +7,7 @@ import java.util.List; import java.util.Set; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import jakarta.persistence.criteria.CriteriaQuery; import jakarta.persistence.criteria.Expression; diff --git a/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaCteContainer.java b/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaCteContainer.java index cdd3d43a2a7b..29ea38c68aac 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaCteContainer.java +++ b/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaCteContainer.java @@ -8,7 +8,6 @@ import java.util.function.Function; import org.hibernate.Incubating; -import org.hibernate.query.sqm.tree.SqmJoinType; import jakarta.persistence.criteria.AbstractQuery; import jakarta.persistence.criteria.CriteriaQuery; @@ -34,7 +33,6 @@ public interface JpaCteContainer extends JpaCriteriaNode { * which can be used for querying. * * @see JpaCriteriaQuery#from(JpaCteCriteria) - * @see JpaFrom#join(JpaCteCriteria, SqmJoinType) */ JpaCteCriteria with(AbstractQuery criteria); @@ -44,7 +42,6 @@ public interface JpaCteContainer extends JpaCriteriaNode { * so that the recursive {@link CriteriaQuery} is able to refer to the CTE again. * * @see JpaCriteriaQuery#from(JpaCteCriteria) - * @see JpaFrom#join(JpaCteCriteria, SqmJoinType) */ JpaCteCriteria withRecursiveUnionAll(AbstractQuery baseCriteria, Function, AbstractQuery> recursiveCriteriaProducer); @@ -54,7 +51,6 @@ public interface JpaCteContainer extends JpaCriteriaNode { * so that the recursive {@link CriteriaQuery} is able to refer to the CTE again. * * @see JpaCriteriaQuery#from(JpaCteCriteria) - * @see JpaFrom#join(JpaCteCriteria, SqmJoinType) */ JpaCteCriteria withRecursiveUnionDistinct(AbstractQuery baseCriteria, Function, AbstractQuery> recursiveCriteriaProducer); diff --git a/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaQueryGroup.java b/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaQueryGroup.java index 7b735fc1bc81..cd21dc8d1873 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaQueryGroup.java +++ b/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaQueryGroup.java @@ -6,8 +6,7 @@ import java.util.List; -import org.hibernate.query.sqm.FetchClauseType; -import org.hibernate.query.sqm.SetOperator; +import org.hibernate.query.common.FetchClauseType; /** * A query group i.e. query parts connected with a set operator. @@ -18,10 +17,6 @@ public interface JpaQueryGroup extends JpaQueryPart { List> getQueryParts(); - SetOperator getSetOperator(); - - void setSetOperator(SetOperator setOperator); - // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Covariant overrides diff --git a/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaQueryPart.java b/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaQueryPart.java index 33024227942a..e3919a0de97a 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaQueryPart.java +++ b/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaQueryPart.java @@ -6,7 +6,7 @@ import java.util.List; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; /** * Models a query part i.e. the commonalities between a query group and a query specification. diff --git a/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaQueryStructure.java b/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaQueryStructure.java index 9fe1b621eaec..93f3aa64be86 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaQueryStructure.java +++ b/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaQueryStructure.java @@ -9,7 +9,7 @@ import jakarta.persistence.criteria.Expression; import jakarta.persistence.criteria.Predicate; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; /** * Models a {@code SELECT} query. Used as a delegate in diff --git a/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaSubQuery.java b/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaSubQuery.java index 023eb8d821ff..48ae5b0cdb2b 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaSubQuery.java +++ b/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaSubQuery.java @@ -18,7 +18,7 @@ import jakarta.persistence.criteria.SetJoin; import jakarta.persistence.criteria.Subquery; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; /** * @author Steve Ebersole diff --git a/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaWindow.java b/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaWindow.java index c9819c84f6b1..fe39e79d8457 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaWindow.java +++ b/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaWindow.java @@ -5,7 +5,7 @@ package org.hibernate.query.criteria; import org.hibernate.Incubating; -import org.hibernate.query.sqm.FrameExclusion; +import org.hibernate.query.common.FrameExclusion; import jakarta.persistence.criteria.Expression; import jakarta.persistence.criteria.Order; diff --git a/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaWindowFrame.java b/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaWindowFrame.java index 8c61f7107a3c..21463d5b775a 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaWindowFrame.java +++ b/hibernate-core/src/main/java/org/hibernate/query/criteria/JpaWindowFrame.java @@ -5,7 +5,7 @@ package org.hibernate.query.criteria; import org.hibernate.Incubating; -import org.hibernate.query.sqm.FrameKind; +import org.hibernate.query.common.FrameKind; import jakarta.persistence.criteria.Expression; diff --git a/hibernate-core/src/main/java/org/hibernate/query/criteria/spi/HibernateCriteriaBuilderDelegate.java b/hibernate-core/src/main/java/org/hibernate/query/criteria/spi/HibernateCriteriaBuilderDelegate.java index fece7b7584d7..3eee72e6d86e 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/criteria/spi/HibernateCriteriaBuilderDelegate.java +++ b/hibernate-core/src/main/java/org/hibernate/query/criteria/spi/HibernateCriteriaBuilderDelegate.java @@ -59,7 +59,7 @@ import org.hibernate.query.criteria.JpaWindow; import org.hibernate.query.criteria.JpaWindowFrame; import org.hibernate.query.criteria.JpaXmlElementExpression; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import jakarta.persistence.Tuple; import jakarta.persistence.criteria.CollectionJoin; diff --git a/hibernate-core/src/main/java/org/hibernate/query/hql/internal/SemanticQueryBuilder.java b/hibernate-core/src/main/java/org/hibernate/query/hql/internal/SemanticQueryBuilder.java index d7f56c28ba4a..414b15e49e70 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/hql/internal/SemanticQueryBuilder.java +++ b/hibernate-core/src/main/java/org/hibernate/query/hql/internal/SemanticQueryBuilder.java @@ -75,10 +75,10 @@ import org.hibernate.query.hql.spi.SqmPathRegistry; import org.hibernate.query.sqm.BinaryArithmeticOperator; import org.hibernate.query.sqm.ComparisonOperator; -import org.hibernate.query.sqm.FetchClauseType; -import org.hibernate.query.sqm.FrameExclusion; -import org.hibernate.query.sqm.FrameKind; -import org.hibernate.query.sqm.FrameMode; +import org.hibernate.query.common.FetchClauseType; +import org.hibernate.query.common.FrameExclusion; +import org.hibernate.query.common.FrameKind; +import org.hibernate.query.common.FrameMode; import org.hibernate.query.sqm.LiteralNumberFormatException; import org.hibernate.query.sqm.NodeBuilder; import org.hibernate.query.sqm.ParsingException; @@ -87,7 +87,7 @@ import org.hibernate.query.sqm.SqmPathSource; import org.hibernate.query.sqm.SqmTreeCreationLogger; import org.hibernate.query.sqm.StrictJpaComplianceViolation; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.TerminalPathException; import org.hibernate.query.sqm.TrimSpec; import org.hibernate.query.sqm.UnaryArithmeticOperator; @@ -263,17 +263,17 @@ import static org.hibernate.internal.util.QuotingHelper.unquoteJavaStringLiteral; import static org.hibernate.internal.util.QuotingHelper.unquoteStringLiteral; import static org.hibernate.query.hql.internal.SqmTreeCreationHelper.extractJpaCompliantAlias; -import static org.hibernate.query.sqm.TemporalUnit.DATE; -import static org.hibernate.query.sqm.TemporalUnit.DAY_OF_MONTH; -import static org.hibernate.query.sqm.TemporalUnit.DAY_OF_WEEK; -import static org.hibernate.query.sqm.TemporalUnit.DAY_OF_YEAR; -import static org.hibernate.query.sqm.TemporalUnit.NANOSECOND; -import static org.hibernate.query.sqm.TemporalUnit.OFFSET; -import static org.hibernate.query.sqm.TemporalUnit.TIME; -import static org.hibernate.query.sqm.TemporalUnit.TIMEZONE_HOUR; -import static org.hibernate.query.sqm.TemporalUnit.TIMEZONE_MINUTE; -import static org.hibernate.query.sqm.TemporalUnit.WEEK_OF_MONTH; -import static org.hibernate.query.sqm.TemporalUnit.WEEK_OF_YEAR; +import static org.hibernate.query.common.TemporalUnit.DATE; +import static org.hibernate.query.common.TemporalUnit.DAY_OF_MONTH; +import static org.hibernate.query.common.TemporalUnit.DAY_OF_WEEK; +import static org.hibernate.query.common.TemporalUnit.DAY_OF_YEAR; +import static org.hibernate.query.common.TemporalUnit.NANOSECOND; +import static org.hibernate.query.common.TemporalUnit.OFFSET; +import static org.hibernate.query.common.TemporalUnit.TIME; +import static org.hibernate.query.common.TemporalUnit.TIMEZONE_HOUR; +import static org.hibernate.query.common.TemporalUnit.TIMEZONE_MINUTE; +import static org.hibernate.query.common.TemporalUnit.WEEK_OF_MONTH; +import static org.hibernate.query.common.TemporalUnit.WEEK_OF_YEAR; import static org.hibernate.query.sqm.internal.SqmUtil.resolveExpressibleJavaTypeClass; import static org.hibernate.type.descriptor.DateTimeUtils.DATE_TIME; import static org.hibernate.type.spi.TypeConfiguration.isJdbcTemporalType; diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/IntervalType.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/IntervalType.java index d2d0e7bfbec8..b9f65556ef2d 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/IntervalType.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/IntervalType.java @@ -7,11 +7,16 @@ /** * The different types of intervals that SQL defines. * + * @deprecated This enum still has exactly one member, and was + * placed in a package from which it has no usages. + * It will be removed or moved. + * * @author Christian Beikov */ +@Deprecated(since="7", forRemoval = true) public enum IntervalType { /** * A second based interval. **/ - SECOND; + SECOND } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/internal/SqmCriteriaNodeBuilder.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/internal/SqmCriteriaNodeBuilder.java index e5c3da489c63..f4e6a3a21555 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/internal/SqmCriteriaNodeBuilder.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/internal/SqmCriteriaNodeBuilder.java @@ -74,13 +74,13 @@ import org.hibernate.query.spi.QueryEngineOptions; import org.hibernate.query.sqm.BinaryArithmeticOperator; import org.hibernate.query.sqm.ComparisonOperator; -import org.hibernate.query.sqm.FrameKind; +import org.hibernate.query.common.FrameKind; import org.hibernate.query.sqm.NodeBuilder; import org.hibernate.query.sqm.SetOperator; import org.hibernate.query.sqm.SqmExpressible; import org.hibernate.query.sqm.SqmPathSource; import org.hibernate.query.sqm.SqmQuerySource; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.TrimSpec; import org.hibernate.query.sqm.UnaryArithmeticOperator; import org.hibernate.query.sqm.function.NamedSqmFunctionDescriptor; diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/InsertExecutionDelegate.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/InsertExecutionDelegate.java index e085e627acb5..149b85d1f321 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/InsertExecutionDelegate.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/temptable/InsertExecutionDelegate.java @@ -42,7 +42,7 @@ import org.hibernate.query.results.TableGroupImpl; import org.hibernate.query.spi.DomainQueryExecutionContext; import org.hibernate.query.sqm.ComparisonOperator; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.query.sqm.internal.DomainParameterXref; import org.hibernate.query.sqm.internal.SqmUtil; import org.hibernate.query.sqm.mutation.internal.MultiTableSqmMutationConverter; diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/produce/function/FunctionParameterType.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/produce/function/FunctionParameterType.java index cdf9d20fde7c..5667c64e914c 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/produce/function/FunctionParameterType.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/produce/function/FunctionParameterType.java @@ -4,7 +4,7 @@ */ package org.hibernate.query.sqm.produce.function; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; /** * A mini-"type system" for HQL function parameters. diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/sql/BaseSqmToSqlAstConverter.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/sql/BaseSqmToSqlAstConverter.java index dd96542bfe41..51ffa1b288b1 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/sql/BaseSqmToSqlAstConverter.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/sql/BaseSqmToSqlAstConverter.java @@ -127,12 +127,12 @@ import org.hibernate.query.sqm.CastType; import org.hibernate.query.sqm.ComparisonOperator; import org.hibernate.query.sqm.DynamicInstantiationNature; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.query.sqm.InterpretationException; import org.hibernate.query.sqm.SqmExpressible; import org.hibernate.query.sqm.SqmPathSource; import org.hibernate.query.sqm.SqmQuerySource; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.UnaryArithmeticOperator; import org.hibernate.query.sqm.function.AbstractSqmSelfRenderingFunctionDescriptor; import org.hibernate.query.sqm.function.SelfRenderingAggregateFunctionSqlAstExpression; @@ -443,10 +443,10 @@ import static org.hibernate.query.sqm.BinaryArithmeticOperator.ADD; import static org.hibernate.query.sqm.BinaryArithmeticOperator.MULTIPLY; import static org.hibernate.query.sqm.BinaryArithmeticOperator.SUBTRACT; -import static org.hibernate.query.sqm.TemporalUnit.EPOCH; -import static org.hibernate.query.sqm.TemporalUnit.NANOSECOND; -import static org.hibernate.query.sqm.TemporalUnit.NATIVE; -import static org.hibernate.query.sqm.TemporalUnit.SECOND; +import static org.hibernate.query.common.TemporalUnit.EPOCH; +import static org.hibernate.query.common.TemporalUnit.NANOSECOND; +import static org.hibernate.query.common.TemporalUnit.NATIVE; +import static org.hibernate.query.common.TemporalUnit.SECOND; import static org.hibernate.query.sqm.UnaryArithmeticOperator.UNARY_MINUS; import static org.hibernate.query.sqm.internal.SqmUtil.isFkOptimizationAllowed; import static org.hibernate.sql.ast.spi.SqlAstTreeHelper.combinePredicates; diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/Conversion.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/Conversion.java index 27a139c45b0f..771a9c7dc809 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/Conversion.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/Conversion.java @@ -6,7 +6,7 @@ import org.hibernate.metamodel.mapping.BasicValuedMapping; import org.hibernate.metamodel.mapping.MappingModelExpressible; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.sql.internal.DomainResultProducer; import org.hibernate.sql.ast.SqlAstWalker; import org.hibernate.sql.ast.spi.SqlAstCreationState; 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 eb8a1d3773c6..824e076b8798 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 @@ -5,7 +5,7 @@ package org.hibernate.query.sqm.tree.expression; import org.hibernate.query.ReturnableType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.NodeBuilder; import org.hibernate.query.sqm.SemanticQueryWalker; import org.hibernate.query.sqm.SqmExpressible; diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmExpressionHelper.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmExpressionHelper.java index 6abea94a89ba..453118405931 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmExpressionHelper.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmExpressionHelper.java @@ -21,7 +21,7 @@ import org.hibernate.query.sqm.BinaryArithmeticOperator; import org.hibernate.query.sqm.NodeBuilder; import org.hibernate.query.sqm.SqmExpressible; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.tree.domain.SqmPath; import org.hibernate.type.descriptor.java.JavaTypeHelper; import org.hibernate.type.descriptor.java.JdbcDateJavaType; 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 4784ef43761b..a72c7c8eae2b 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 @@ -5,7 +5,7 @@ package org.hibernate.query.sqm.tree.expression; import org.hibernate.query.ReturnableType; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.NodeBuilder; import org.hibernate.query.sqm.SemanticQueryWalker; import org.hibernate.query.sqm.SqmExpressible; 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 5126edd72fa6..3e043d751fcf 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 @@ -6,9 +6,9 @@ import java.util.List; -import org.hibernate.query.sqm.FrameExclusion; -import org.hibernate.query.sqm.FrameKind; -import org.hibernate.query.sqm.FrameMode; +import org.hibernate.query.common.FrameExclusion; +import org.hibernate.query.common.FrameKind; +import org.hibernate.query.common.FrameMode; import org.hibernate.query.sqm.SemanticQueryWalker; import org.hibernate.query.sqm.SqmExpressible; import org.hibernate.query.sqm.tree.SqmCopyContext; 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 0ee8be5f535f..62644fd80e6c 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 @@ -10,9 +10,9 @@ import org.hibernate.Incubating; import org.hibernate.query.criteria.JpaWindow; import org.hibernate.query.criteria.JpaWindowFrame; -import org.hibernate.query.sqm.FrameExclusion; -import org.hibernate.query.sqm.FrameKind; -import org.hibernate.query.sqm.FrameMode; +import org.hibernate.query.common.FrameExclusion; +import org.hibernate.query.common.FrameKind; +import org.hibernate.query.common.FrameMode; import org.hibernate.query.sqm.NodeBuilder; import org.hibernate.query.sqm.SemanticQueryWalker; import org.hibernate.query.sqm.tree.AbstractSqmNode; @@ -23,12 +23,12 @@ import jakarta.persistence.criteria.Expression; import jakarta.persistence.criteria.Order; -import static org.hibernate.query.sqm.FrameExclusion.NO_OTHERS; -import static org.hibernate.query.sqm.FrameKind.CURRENT_ROW; -import static org.hibernate.query.sqm.FrameKind.UNBOUNDED_PRECEDING; -import static org.hibernate.query.sqm.FrameMode.GROUPS; -import static org.hibernate.query.sqm.FrameMode.RANGE; -import static org.hibernate.query.sqm.FrameMode.ROWS; +import static org.hibernate.query.common.FrameExclusion.NO_OTHERS; +import static org.hibernate.query.common.FrameKind.CURRENT_ROW; +import static org.hibernate.query.common.FrameKind.UNBOUNDED_PRECEDING; +import static org.hibernate.query.common.FrameMode.GROUPS; +import static org.hibernate.query.common.FrameMode.RANGE; +import static org.hibernate.query.common.FrameMode.ROWS; /** * @author Marco Belladelli diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmWindowFrame.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmWindowFrame.java index 7ae0783a15c0..f2b96f46ac0a 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmWindowFrame.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmWindowFrame.java @@ -6,7 +6,7 @@ import org.hibernate.Incubating; import org.hibernate.query.criteria.JpaWindowFrame; -import org.hibernate.query.sqm.FrameKind; +import org.hibernate.query.common.FrameKind; import org.hibernate.query.sqm.NodeBuilder; import org.hibernate.query.sqm.tree.AbstractSqmNode; import org.hibernate.query.sqm.tree.SqmCopyContext; 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 445de1cb4c5e..e2e75237700a 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 @@ -10,7 +10,7 @@ import java.util.List; import org.hibernate.internal.util.collections.CollectionHelper; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.query.SemanticException; import org.hibernate.query.sqm.SetOperator; import org.hibernate.query.criteria.JpaExpression; @@ -99,12 +99,10 @@ public List> getQueryParts() { return Collections.unmodifiableList( queryParts ); } - @Override public SetOperator getSetOperator() { return setOperator; } - @Override public void setSetOperator(SetOperator setOperator) { if ( setOperator == null ) { throw new IllegalArgumentException(); 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 8c7b69b6b940..74e7b67b8a52 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 @@ -7,7 +7,7 @@ import java.util.Collections; import java.util.List; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.query.criteria.JpaExpression; import org.hibernate.query.criteria.JpaOrder; import org.hibernate.query.criteria.JpaQueryPart; 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 bb663d8a624f..338ae5f86e5c 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 @@ -21,7 +21,7 @@ import org.hibernate.query.criteria.JpaQueryStructure; import org.hibernate.query.criteria.JpaRoot; import org.hibernate.query.criteria.JpaSelection; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.query.sqm.NodeBuilder; import org.hibernate.query.sqm.SemanticQueryWalker; import org.hibernate.query.sqm.internal.SqmUtil; diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmSelectStatement.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmSelectStatement.java index ff2cf002aaa2..99029d18287c 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmSelectStatement.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmSelectStatement.java @@ -17,7 +17,7 @@ import org.hibernate.query.criteria.JpaCteCriteria; import org.hibernate.query.criteria.JpaExpression; import org.hibernate.query.criteria.JpaSelection; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.query.sqm.NodeBuilder; import org.hibernate.query.sqm.SemanticQueryWalker; import org.hibernate.query.sqm.SqmQuerySource; 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 1054896721ee..b7d82d523c18 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 @@ -23,7 +23,7 @@ import org.hibernate.query.criteria.JpaOrder; import org.hibernate.query.criteria.JpaSelection; import org.hibernate.query.criteria.JpaSubQuery; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.query.sqm.NodeBuilder; import org.hibernate.query.sqm.SemanticQueryWalker; import org.hibernate.query.sqm.SqmExpressible; diff --git a/hibernate-core/src/main/java/org/hibernate/sql/ast/spi/AbstractSqlAstTranslator.java b/hibernate-core/src/main/java/org/hibernate/sql/ast/spi/AbstractSqlAstTranslator.java index 66bc1fdef7bc..9bad1d75b12a 100644 --- a/hibernate-core/src/main/java/org/hibernate/sql/ast/spi/AbstractSqlAstTranslator.java +++ b/hibernate-core/src/main/java/org/hibernate/sql/ast/spi/AbstractSqlAstTranslator.java @@ -65,10 +65,10 @@ import org.hibernate.query.spi.QueryOptions; import org.hibernate.query.sqm.BinaryArithmeticOperator; import org.hibernate.query.sqm.ComparisonOperator; -import org.hibernate.query.sqm.FetchClauseType; -import org.hibernate.query.sqm.FrameExclusion; -import org.hibernate.query.sqm.FrameKind; -import org.hibernate.query.sqm.FrameMode; +import org.hibernate.query.common.FetchClauseType; +import org.hibernate.query.common.FrameExclusion; +import org.hibernate.query.common.FrameKind; +import org.hibernate.query.common.FrameMode; import org.hibernate.query.sqm.SetOperator; import org.hibernate.query.sqm.UnaryArithmeticOperator; import org.hibernate.query.sqm.function.FunctionRenderer; @@ -230,7 +230,7 @@ import static org.hibernate.persister.entity.DiscriminatorHelper.jdbcLiteral; import static org.hibernate.query.sqm.BinaryArithmeticOperator.DIVIDE_PORTABLE; -import static org.hibernate.query.sqm.TemporalUnit.NANOSECOND; +import static org.hibernate.query.common.TemporalUnit.NANOSECOND; import static org.hibernate.sql.ast.SqlTreePrinter.logSqlAst; import static org.hibernate.sql.results.graph.DomainResultGraphPrinter.logDomainResultGraph; diff --git a/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/Duration.java b/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/Duration.java index ed0ed1f38a63..cea84a205cfb 100644 --- a/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/Duration.java +++ b/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/Duration.java @@ -5,7 +5,7 @@ package org.hibernate.sql.ast.tree.expression; import org.hibernate.metamodel.mapping.BasicValuedMapping; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.query.sqm.sql.internal.DomainResultProducer; import org.hibernate.query.sqm.tree.expression.Conversion; import org.hibernate.sql.ast.SqlAstWalker; diff --git a/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/DurationUnit.java b/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/DurationUnit.java index d1ac619d4a8b..06f3ba219847 100644 --- a/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/DurationUnit.java +++ b/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/DurationUnit.java @@ -5,7 +5,7 @@ package org.hibernate.sql.ast.tree.expression; import org.hibernate.metamodel.mapping.BasicValuedMapping; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.sql.ast.SqlAstWalker; import org.hibernate.sql.ast.tree.SqlAstNode; diff --git a/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/ExtractUnit.java b/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/ExtractUnit.java index 01baaaa0bbab..b1c20a71cb90 100644 --- a/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/ExtractUnit.java +++ b/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/ExtractUnit.java @@ -5,7 +5,7 @@ package org.hibernate.sql.ast.tree.expression; import org.hibernate.metamodel.mapping.BasicValuedMapping; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.sql.ast.SqlAstWalker; import org.hibernate.sql.ast.tree.SqlAstNode; diff --git a/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/Over.java b/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/Over.java index 6f065388b461..487b2023f04c 100644 --- a/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/Over.java +++ b/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/Over.java @@ -7,9 +7,9 @@ import java.util.List; import org.hibernate.metamodel.mapping.JdbcMappingContainer; -import org.hibernate.query.sqm.FrameExclusion; -import org.hibernate.query.sqm.FrameKind; -import org.hibernate.query.sqm.FrameMode; +import org.hibernate.query.common.FrameExclusion; +import org.hibernate.query.common.FrameKind; +import org.hibernate.query.common.FrameMode; import org.hibernate.query.sqm.sql.internal.DomainResultProducer; import org.hibernate.sql.ast.SqlAstWalker; import org.hibernate.sql.ast.spi.SqlAstCreationState; diff --git a/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/select/QueryPart.java b/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/select/QueryPart.java index 9addd88b2c6b..80a810c9cddc 100644 --- a/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/select/QueryPart.java +++ b/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/select/QueryPart.java @@ -9,7 +9,7 @@ import java.util.function.Consumer; import java.util.function.Function; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.query.sqm.tree.expression.SqmAliasedNodeRef; import org.hibernate.sql.ast.tree.SqlAstNode; import org.hibernate.sql.ast.tree.expression.Expression; diff --git a/hibernate-core/src/main/java/org/hibernate/sql/results/internal/TupleImpl.java b/hibernate-core/src/main/java/org/hibernate/sql/results/internal/TupleImpl.java index a8e2dcc49058..1890d53f23e9 100644 --- a/hibernate-core/src/main/java/org/hibernate/sql/results/internal/TupleImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/sql/results/internal/TupleImpl.java @@ -6,9 +6,9 @@ import java.util.Arrays; import java.util.List; -import jakarta.persistence.TupleElement; -import org.hibernate.query.JpaTuple; +import jakarta.persistence.Tuple; +import jakarta.persistence.TupleElement; import static org.hibernate.internal.util.type.PrimitiveWrapperHelper.getDescriptorByPrimitiveType; @@ -17,7 +17,7 @@ * * @author Steve Ebersole */ -public class TupleImpl implements JpaTuple { +public class TupleImpl implements Tuple { private final TupleMetadata tupleMetadata; private final Object[] row; diff --git a/hibernate-core/src/test/java/org/hibernate/orm/test/component/basic/ComponentTest.java b/hibernate-core/src/test/java/org/hibernate/orm/test/component/basic/ComponentTest.java index f82cee406284..e257939c5cce 100644 --- a/hibernate-core/src/test/java/org/hibernate/orm/test/component/basic/ComponentTest.java +++ b/hibernate-core/src/test/java/org/hibernate/orm/test/component/basic/ComponentTest.java @@ -21,7 +21,7 @@ import org.hibernate.mapping.Component; import org.hibernate.mapping.Formula; import org.hibernate.mapping.PersistentClass; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.testing.orm.junit.JiraKey; import org.hibernate.testing.orm.junit.FailureExpected; diff --git a/hibernate-core/src/test/java/org/hibernate/orm/test/jpa/criteria/basic/ExpressionsTest.java b/hibernate-core/src/test/java/org/hibernate/orm/test/jpa/criteria/basic/ExpressionsTest.java index 83807d6f5f49..e3ec1eb74875 100644 --- a/hibernate-core/src/test/java/org/hibernate/orm/test/jpa/criteria/basic/ExpressionsTest.java +++ b/hibernate-core/src/test/java/org/hibernate/orm/test/jpa/criteria/basic/ExpressionsTest.java @@ -27,7 +27,7 @@ import org.hibernate.query.criteria.JpaCriteriaQuery; import org.hibernate.query.criteria.JpaDerivedRoot; import org.hibernate.query.criteria.JpaSubQuery; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.testing.orm.junit.JiraKey; import org.hibernate.testing.orm.junit.Jira; diff --git a/hibernate-core/src/test/java/org/hibernate/orm/test/pagination/OraclePaginationWithLocksTest.java b/hibernate-core/src/test/java/org/hibernate/orm/test/pagination/OraclePaginationWithLocksTest.java index 49cd77255363..6efab06bce5b 100644 --- a/hibernate-core/src/test/java/org/hibernate/orm/test/pagination/OraclePaginationWithLocksTest.java +++ b/hibernate-core/src/test/java/org/hibernate/orm/test/pagination/OraclePaginationWithLocksTest.java @@ -15,7 +15,7 @@ import org.hibernate.LockOptions; import org.hibernate.dialect.OracleDialect; import org.hibernate.engine.spi.SessionImplementor; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.resource.jdbc.spi.StatementInspector; import org.hibernate.testing.orm.junit.JiraKey; diff --git a/hibernate-core/src/test/java/org/hibernate/orm/test/query/criteria/CriteriaBuilderNonStandardFunctionsTest.java b/hibernate-core/src/test/java/org/hibernate/orm/test/query/criteria/CriteriaBuilderNonStandardFunctionsTest.java index c969f58d03e5..d61d30877995 100644 --- a/hibernate-core/src/test/java/org/hibernate/orm/test/query/criteria/CriteriaBuilderNonStandardFunctionsTest.java +++ b/hibernate-core/src/test/java/org/hibernate/orm/test/query/criteria/CriteriaBuilderNonStandardFunctionsTest.java @@ -20,7 +20,7 @@ import org.hibernate.dialect.PostgreSQLDialect; import org.hibernate.query.criteria.HibernateCriteriaBuilder; import org.hibernate.query.criteria.JpaExpression; -import org.hibernate.query.sqm.TemporalUnit; +import org.hibernate.query.common.TemporalUnit; import org.hibernate.testing.orm.domain.StandardDomainModel; import org.hibernate.testing.orm.domain.gambit.EntityOfBasics; diff --git a/hibernate-testing/src/main/java/org/hibernate/testing/orm/junit/DialectFeatureChecks.java b/hibernate-testing/src/main/java/org/hibernate/testing/orm/junit/DialectFeatureChecks.java index 1041317fba78..3bdf1c700d48 100644 --- a/hibernate-testing/src/main/java/org/hibernate/testing/orm/junit/DialectFeatureChecks.java +++ b/hibernate-testing/src/main/java/org/hibernate/testing/orm/junit/DialectFeatureChecks.java @@ -87,7 +87,7 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.SourceModelBuildingContext; import org.hibernate.query.named.NamedObjectRepository; -import org.hibernate.query.sqm.FetchClauseType; +import org.hibernate.query.common.FetchClauseType; import org.hibernate.query.sqm.function.SqmFunctionDescriptor; import org.hibernate.query.sqm.function.SqmFunctionRegistry; import org.hibernate.service.ServiceRegistry; From e868f272a106a81829ffd0537567f396627becbd Mon Sep 17 00:00:00 2001 From: Gavin King Date: Sun, 20 Oct 2024 13:55:38 +0200 Subject: [PATCH 5/7] HHH-17068 move JoinType to common Signed-off-by: Gavin King --- .../main/java/org/hibernate/query/{sqm => common}/JoinType.java | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename hibernate-core/src/main/java/org/hibernate/query/{sqm => common}/JoinType.java (100%) diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/JoinType.java b/hibernate-core/src/main/java/org/hibernate/query/common/JoinType.java similarity index 100% rename from hibernate-core/src/main/java/org/hibernate/query/sqm/JoinType.java rename to hibernate-core/src/main/java/org/hibernate/query/common/JoinType.java From a7976561c3637a5c27b3b9e405f4bf9d9fe852a0 Mon Sep 17 00:00:00 2001 From: Gavin King Date: Sun, 20 Oct 2024 13:56:46 +0200 Subject: [PATCH 6/7] improve jdoc of SQM enums Signed-off-by: Gavin King --- .../org/hibernate/query/sqm/CastType.java | 24 +++++++-------- .../query/sqm/ComparisonOperator.java | 8 +++-- .../query/sqm/DynamicInstantiationNature.java | 2 ++ .../org/hibernate/query/sqm/SetOperator.java | 30 +++++++++++-------- .../hibernate/query/sqm/SqmQuerySource.java | 13 +++++++- .../org/hibernate/query/sqm/TrimSpec.java | 25 ++++++++-------- .../query/sqm/UnaryArithmeticOperator.java | 22 ++++++++------ 7 files changed, 74 insertions(+), 50 deletions(-) diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/CastType.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/CastType.java index e0fdfa179b82..da57813bec19 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/CastType.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/CastType.java @@ -8,8 +8,8 @@ * Defines the set of basic types which should be * accepted by the {@code cast()} function on every * platform. - *

- * Note that while almost every database supports + * + * @implNote While almost every database supports * the ANSI {@code cast()} function, the actual type * conversions supported vary widely. Therefore, it * is sometimes necessary to emulate certain type @@ -19,6 +19,11 @@ * type, and so type conversions to and from * {@link Boolean} must be emulated. * + * @apiNote This is an SPI type allowing collaboration + * between {@code org.hibernate.dialect} and + * {@code org.hibernate.sqm}. It should never occur in + * APIs visible to the application program. + * * @see org.hibernate.dialect.Dialect#castPattern(CastType, CastType) * * @author Gavin King @@ -33,16 +38,9 @@ public enum CastType { OTHER; public boolean isNumeric() { - switch (this) { - case INTEGER: - case LONG: - case INTEGER_BOOLEAN: - case FLOAT: - case DOUBLE: - case FIXED: - return true; - default: - return false; - } + return switch ( this ) { + case INTEGER, LONG, INTEGER_BOOLEAN, FLOAT, DOUBLE, FIXED -> true; + default -> false; + }; } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/ComparisonOperator.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/ComparisonOperator.java index be03e984a6d8..c6c2a9b30cd9 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/ComparisonOperator.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/ComparisonOperator.java @@ -5,8 +5,12 @@ package org.hibernate.query.sqm; /** - * Defines the comparison operators. We could also get away with - * only 3 and use negation... + * Enumerates the binary comparison operators. + * + * @apiNote This is an SPI type allowing collaboration + * between {@code org.hibernate.dialect} and + * {@code org.hibernate.sqm}. It should never occur in + * APIs visible to the application program. * * @author Steve Ebersole */ diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/DynamicInstantiationNature.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/DynamicInstantiationNature.java index 380840c11832..d89bd4485cb4 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/DynamicInstantiationNature.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/DynamicInstantiationNature.java @@ -10,6 +10,8 @@ /** * Represents the type of instantiation to be performed. * + * @see org.hibernate.query.sqm.tree.select.SqmDynamicInstantiationTarget#getNature + * * @author Steve Ebersole */ public enum DynamicInstantiationNature { diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/SetOperator.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/SetOperator.java index ac04cf8e7efd..84f419be5000 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/SetOperator.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/SetOperator.java @@ -7,41 +7,45 @@ /** * The SQL set operators. * + * @apiNote This is an SPI type. It should never occur + * in APIs visible to the application program. + * * @author Christian Beikov */ public enum SetOperator { /** * Union of sets that removes duplicate rows. */ - UNION("union"), + UNION, /** * Union of bags that retains all elements. */ - UNION_ALL("union all"), + UNION_ALL, /** * Intersection of sets that removes duplicate rows. */ - INTERSECT("intersect"), + INTERSECT, /** * Intersection of bags that retains duplicate matches. */ - INTERSECT_ALL("intersect all"), + INTERSECT_ALL, /** * Exclusion of set elements of the set on the right-hand side. */ - EXCEPT("except"), + EXCEPT, /** * Exclusion of bag elements of the bag on the right-hand side that retains duplicates. */ - EXCEPT_ALL("except all"); - - private final String sqlString; - - private SetOperator(String sqlString) { - this.sqlString = sqlString; - } + EXCEPT_ALL; public String sqlString() { - return sqlString; + return switch (this) { + case UNION -> "union"; + case UNION_ALL -> "union all"; + case INTERSECT -> "intersect"; + case INTERSECT_ALL -> "intersect all"; + case EXCEPT -> "except"; + case EXCEPT_ALL -> "except all"; + }; } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/SqmQuerySource.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/SqmQuerySource.java index ca281cfa9824..15f5d0cd7013 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/SqmQuerySource.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/SqmQuerySource.java @@ -5,14 +5,25 @@ package org.hibernate.query.sqm; /** - * Informational - used to identify the source of an SQM statement. + * Identifies the source of an SQM statement. * * @see org.hibernate.query.sqm.tree.SqmStatement#getQuerySource * * @author Steve Ebersole */ public enum SqmQuerySource { + /** + * The SQM tree represents a query written in HQL or JPQL. + */ HQL, + /** + * The SQM tree was built via the + * {@linkplain org.hibernate.query.criteria.HibernateCriteriaBuilder + * criteria query API}. + */ CRITERIA, + /** + * The SQM tree came from somewhere else. + */ OTHER } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/TrimSpec.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/TrimSpec.java index aa7d84c9473e..694b1e6c67de 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/TrimSpec.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/TrimSpec.java @@ -5,11 +5,17 @@ package org.hibernate.query.sqm; import jakarta.persistence.criteria.CriteriaBuilder; -import org.hibernate.AssertionFailure; import java.util.Locale; /** + * Variations of the {@code trim()} function. + * + * @apiNote This is an SPI type allowing collaboration + * between {@code org.hibernate.dialect} and + * {@code org.hibernate.sqm}. It should never occur in + * APIs visible to the application program. + * * @author Steve Ebersole */ public enum TrimSpec { @@ -21,17 +27,12 @@ public static TrimSpec fromCriteriaTrimSpec(CriteriaBuilder.Trimspec jpaTs) { if ( jpaTs == null ) { return null; } - - switch ( jpaTs ) { - case BOTH: - return BOTH; - case LEADING: - return LEADING; - case TRAILING: - return TRAILING; - default: - throw new AssertionFailure( "Unrecognized JPA TrimSpec" ); - + else { + return switch ( jpaTs ) { + case BOTH -> BOTH; + case LEADING -> LEADING; + case TRAILING -> TRAILING; + }; } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/UnaryArithmeticOperator.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/UnaryArithmeticOperator.java index 62d4f6967f14..439a9bdb3443 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/UnaryArithmeticOperator.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/UnaryArithmeticOperator.java @@ -5,19 +5,23 @@ package org.hibernate.query.sqm; /** + * Enumerates the unary prefix operators. + * + * @apiNote This is an SPI type allowing collaboration + * between {@code org.hibernate.dialect} and + * {@code org.hibernate.sqm}. It should never occur in + * APIs visible to the application program. + * * @author Steve Ebersole */ public enum UnaryArithmeticOperator { - UNARY_PLUS( '+' ), - UNARY_MINUS( '-' ); - - private final char operatorChar; - - UnaryArithmeticOperator(char operatorChar) { - this.operatorChar = operatorChar; - } + UNARY_PLUS, + UNARY_MINUS; public char getOperatorChar() { - return operatorChar; + return switch ( this ) { + case UNARY_PLUS -> '+'; + case UNARY_MINUS -> '-'; + }; } } From d8e058cce001b41d36c1a24eb29e7bda92f52352 Mon Sep 17 00:00:00 2001 From: Gavin King Date: Sun, 20 Oct 2024 13:59:30 +0200 Subject: [PATCH 7/7] squash some warnings by filling in Signed-off-by: Gavin King --- .../query/sqm/SemanticQueryWalker.java | 2 +- .../query/sqm/internal/SqmTreePrinter.java | 106 +++++++++--------- .../sqm/spi/BaseSemanticQueryWalker.java | 46 ++++---- .../sqm/sql/BaseSqmToSqlAstConverter.java | 2 +- .../select/SqmDynamicInstantiationTarget.java | 2 +- 5 files changed, 76 insertions(+), 82 deletions(-) diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/SemanticQueryWalker.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/SemanticQueryWalker.java index 7fcf4e09320d..4fb6e9f13545 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/SemanticQueryWalker.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/SemanticQueryWalker.java @@ -162,7 +162,7 @@ public interface SemanticQueryWalker { T visitRootDerived(SqmDerivedRoot sqmRoot); - T visitRootFunction(SqmFunctionRoot sqmRoot); + T visitRootFunction(SqmFunctionRoot sqmRoot); T visitRootCte(SqmCteRoot sqmRoot); diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/internal/SqmTreePrinter.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/internal/SqmTreePrinter.java index 20faf7cc8f35..8b5a5450ceab 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/internal/SqmTreePrinter.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/internal/SqmTreePrinter.java @@ -140,7 +140,7 @@ public class SqmTreePrinter implements SemanticQueryWalker { private static final Logger LOGGER = QueryLogging.subLogger( "sqm.ast" ); private static final boolean DEBUG_ENABLED = LOGGER.isDebugEnabled(); - public static void logTree(SqmQuerySpec sqmQuerySpec, String header) { + public static void logTree(SqmQuerySpec sqmQuerySpec, String header) { if ( ! DEBUG_ENABLED ) { return; } @@ -154,24 +154,24 @@ public static void logTree(SqmQuerySpec sqmQuerySpec, String header) { LOGGER.debugf( "%s :%n%s", title, treePrinter.buffer.toString() ); } - public static void logTree(SqmStatement sqmStatement) { + public static void logTree(SqmStatement sqmStatement) { if ( ! DEBUG_ENABLED ) { return; } final SqmTreePrinter printer = new SqmTreePrinter(); - if ( sqmStatement instanceof SqmSelectStatement ) { - printer.visitSelectStatement( (SqmSelectStatement) sqmStatement ); + if ( sqmStatement instanceof SqmSelectStatement statement ) { + printer.visitSelectStatement( statement ); } - else if ( sqmStatement instanceof SqmDeleteStatement ) { - printer.visitDeleteStatement( (SqmDeleteStatement) sqmStatement ); + else if ( sqmStatement instanceof SqmDeleteStatement statement ) { + printer.visitDeleteStatement( statement ); } - else if ( sqmStatement instanceof SqmUpdateStatement ) { - printer.visitUpdateStatement( (SqmUpdateStatement) sqmStatement ); + else if ( sqmStatement instanceof SqmUpdateStatement statement ) { + printer.visitUpdateStatement( statement ); } - else if ( sqmStatement instanceof SqmInsertSelectStatement ) { - printer.visitInsertSelectStatement( (SqmInsertSelectStatement) sqmStatement ); + else if ( sqmStatement instanceof SqmInsertSelectStatement statement ) { + printer.visitInsertSelectStatement( statement ); } LOGGER.debugf( "SqmStatement Tree :%n%s", printer.buffer.toString() ); @@ -257,11 +257,11 @@ private void logWithIndentation(String pattern, Object arg1) { } private void logWithIndentation(String pattern, Object arg1, Object arg2) { - logWithIndentation( String.format( pattern, arg1, arg2 ) ); + logWithIndentation( String.format( pattern, arg1, arg2 ) ); } private void logWithIndentation(String pattern, Object... args) { - logWithIndentation( String.format( pattern, args ) ); + logWithIndentation( String.format( pattern, args ) ); } private void logIndented(String line) { @@ -386,7 +386,7 @@ public Object visitSelectStatement(SqmSelectStatement statement) { } @Override - public Object visitCteStatement(SqmCteStatement sqmCteStatement) { + public Object visitCteStatement(SqmCteStatement sqmCteStatement) { if ( DEBUG_ENABLED ) { logIndented( "cte" ); } @@ -536,7 +536,7 @@ public Object visitFromClause(SqmFromClause fromClause) { } @Override - public Object visitRootPath(SqmRoot sqmRoot) { + public Object visitRootPath(SqmRoot sqmRoot) { processStanza( "root", "`" + sqmRoot.getNavigablePath() + "`", @@ -551,21 +551,17 @@ public Object visitRootDerived(SqmDerivedRoot sqmRoot) { processStanza( "derived", "`" + sqmRoot.getNavigablePath() + "`", - () -> { - processJoins( sqmRoot ); - } + () -> processJoins( sqmRoot ) ); return null; } @Override - public Object visitRootFunction(SqmFunctionRoot sqmRoot) { + public Object visitRootFunction(SqmFunctionRoot sqmRoot) { processStanza( "derived", "`" + sqmRoot.getNavigablePath() + "`", - () -> { - processJoins( sqmRoot ); - } + () -> processJoins( sqmRoot ) ); return null; } @@ -575,9 +571,7 @@ public Object visitRootCte(SqmCteRoot sqmRoot) { processStanza( "cte", "`" + sqmRoot.getNavigablePath() + "`", - () -> { - processJoins( sqmRoot ); - } + () -> processJoins( sqmRoot ) ); return null; } @@ -594,7 +588,7 @@ private void processJoins(SqmFrom sqmFrom) { } @Override - public Object visitCrossJoin(SqmCrossJoin joinedFromElement) { + public Object visitCrossJoin(SqmCrossJoin joinedFromElement) { processStanza( "cross", "`" + joinedFromElement.getNavigablePath() + "`", @@ -630,7 +624,7 @@ private void processJoinPredicate(SqmJoin joinedFromElement) { } @Override - public Object visitQualifiedEntityJoin(SqmEntityJoin joinedFromElement) { + public Object visitQualifiedEntityJoin(SqmEntityJoin joinedFromElement) { if ( inJoinPredicate ) { logWithIndentation( "-> [joined-path] - `%s`", joinedFromElement.getNavigablePath() ); } @@ -648,7 +642,7 @@ public Object visitQualifiedEntityJoin(SqmEntityJoin joinedFromElement) { } @Override - public Object visitQualifiedAttributeJoin(SqmAttributeJoin joinedFromElement) { + public Object visitQualifiedAttributeJoin(SqmAttributeJoin joinedFromElement) { if ( inJoinPredicate ) { logWithIndentation( "-> [joined-path] - `%s`", joinedFromElement.getNavigablePath() ); } @@ -722,14 +716,14 @@ public Object visitQualifiedCteJoin(SqmCteJoin joinedFromElement) { } @Override - public Object visitBasicValuedPath(SqmBasicValuedSimplePath path) { + public Object visitBasicValuedPath(SqmBasicValuedSimplePath path) { logWithIndentation( "-> [basic-path] - `%s`", path.getNavigablePath() ); return null; } @Override - public Object visitEmbeddableValuedPath(SqmEmbeddedValuedSimplePath path) { + public Object visitEmbeddableValuedPath(SqmEmbeddedValuedSimplePath path) { logWithIndentation( "-> [embedded-path] - `%s`", path.getNavigablePath() ); return null; @@ -764,14 +758,14 @@ public Object visitDiscriminatorPath(DiscriminatorSqmPath sqmPath) { } @Override - public Object visitEntityValuedPath(SqmEntityValuedSimplePath path) { + public Object visitEntityValuedPath(SqmEntityValuedSimplePath path) { logWithIndentation( "-> [entity-path] - `%s`", path.getNavigablePath() ); return null; } @Override - public Object visitPluralValuedPath(SqmPluralValuedSimplePath path) { + public Object visitPluralValuedPath(SqmPluralValuedSimplePath path) { logWithIndentation( "-> [plural-path] - `%s`", path.getNavigablePath() ); return null; @@ -783,7 +777,7 @@ public Object visitIndexedPluralAccessPath(SqmIndexedCollectionAccessPath pat } @Override - public Object visitTreatedPath(SqmTreatedPath sqmTreatedPath) { + public Object visitTreatedPath(SqmTreatedPath sqmTreatedPath) { return null; } @@ -803,7 +797,7 @@ public Object visitSelectClause(SqmSelectClause selectClause) { } @Override - public Object visitSelection(SqmSelection selection) { + public Object visitSelection(SqmSelection selection) { processStanza( selection.getAlias() == null ? "selection" : "selection(" + selection.getAlias() + ")", () -> selection.getSelectableNode().accept( this ) @@ -818,26 +812,26 @@ public Object visitValues(SqmValues values) { } @Override - public Object visitPositionalParameterExpression(SqmPositionalParameter expression) { + public Object visitPositionalParameterExpression(SqmPositionalParameter expression) { logWithIndentation( "?%s", expression.getPosition() ); return null; } @Override - public Object visitNamedParameterExpression(SqmNamedParameter expression) { + public Object visitNamedParameterExpression(SqmNamedParameter expression) { logWithIndentation( ":%s", expression.getName() ); return null; } @Override - public Object visitJpaCriteriaParameter(JpaCriteriaParameter expression) { + public Object visitJpaCriteriaParameter(JpaCriteriaParameter expression) { return null; } @Override - public Object visitEntityTypeLiteralExpression(SqmLiteralEntityType expression) { + public Object visitEntityTypeLiteralExpression(SqmLiteralEntityType expression) { return null; } @@ -847,12 +841,12 @@ public Object visitEmbeddableTypeLiteralExpression(SqmLiteralEmbeddableType e } @Override - public Object visitParameterizedEntityTypeExpression(SqmParameterizedEntityType expression) { + public Object visitParameterizedEntityTypeExpression(SqmParameterizedEntityType expression) { return null; } @Override - public Object visitUnaryOperationExpression(SqmUnaryOperation expression) { + public Object visitUnaryOperationExpression(SqmUnaryOperation expression) { return null; } @@ -1066,12 +1060,12 @@ public Object visitNegatedPredicate(SqmNegatedPredicate predicate) { } @Override - public Object visitInListPredicate(SqmInListPredicate predicate) { + public Object visitInListPredicate(SqmInListPredicate predicate) { return null; } @Override - public Object visitInSubQueryPredicate(SqmInSubQueryPredicate predicate) { + public Object visitInSubQueryPredicate(SqmInSubQueryPredicate predicate) { return null; } @@ -1096,12 +1090,12 @@ public Object visitSortSpecification(SqmSortSpecification sortSpecification) { } @Override - public Object visitOffsetExpression(SqmExpression expression) { + public Object visitOffsetExpression(SqmExpression expression) { return null; } @Override - public Object visitFetchExpression(SqmExpression expression) { + public Object visitFetchExpression(SqmExpression expression) { return null; } @@ -1116,12 +1110,12 @@ public Object visitMapEntryFunction(SqmMapEntryReference function) { } @Override - public Object visitElementAggregateFunction(SqmElementAggregateFunction binding) { + public Object visitElementAggregateFunction(SqmElementAggregateFunction binding) { return null; } @Override - public Object visitIndexAggregateFunction(SqmIndexAggregateFunction path) { + public Object visitIndexAggregateFunction(SqmIndexAggregateFunction path) { return null; } @@ -1131,12 +1125,12 @@ public Object visitFunctionPath(SqmFunctionPath functionPath) { } @Override - public Object visitLiteral(SqmLiteral literal) { + public Object visitLiteral(SqmLiteral literal) { return null; } @Override - public Object visitTuple(SqmTuple sqmTuple) { + public Object visitTuple(SqmTuple sqmTuple) { return null; } @@ -1146,22 +1140,22 @@ public Object visitCollation(SqmCollation sqmCollate) { } @Override - public Object visitBinaryArithmeticExpression(SqmBinaryArithmetic expression) { + public Object visitBinaryArithmeticExpression(SqmBinaryArithmetic expression) { return null; } @Override - public Object visitSubQueryExpression(SqmSubQuery expression) { + public Object visitSubQueryExpression(SqmSubQuery expression) { return null; } @Override - public Object visitSimpleCaseExpression(SqmCaseSimple expression) { + public Object visitSimpleCaseExpression(SqmCaseSimple expression) { return null; } @Override - public Object visitSearchedCaseExpression(SqmCaseSearched expression) { + public Object visitSearchedCaseExpression(SqmCaseSearched expression) { return null; } @@ -1191,12 +1185,12 @@ public Object visitAnyDiscriminatorTypeValueExpression(SqmAnyDiscriminatorValue< } @Override - public Object visitDynamicInstantiation(SqmDynamicInstantiation sqmDynamicInstantiation) { + public Object visitDynamicInstantiation(SqmDynamicInstantiation sqmDynamicInstantiation) { processStanza( "dynamic-instantiation (" + sqmDynamicInstantiation.getInstantiationTarget().getJavaType() + ')', () -> processStanza( "arguments", - () -> ( (SqmDynamicInstantiation) sqmDynamicInstantiation ).getArguments().forEach( + () -> sqmDynamicInstantiation.getArguments().forEach( argument -> processStanza( "argument (" + argument.getAlias() + ')', () -> { @@ -1228,12 +1222,12 @@ public Object visitHqlNumericLiteral(SqmHqlNumericLiteral } @Override - public Object visitFullyQualifiedClass(Class namedClass) { + public Object visitFullyQualifiedClass(Class namedClass) { return null; } @Override - public Object visitAsWrapperExpression(AsWrapperSqmExpression expression) { + public Object visitAsWrapperExpression(AsWrapperSqmExpression expression) { return null; } @@ -1243,7 +1237,7 @@ public Object visitNamedExpression(SqmNamedExpression expression) { } @Override - public Object visitModifiedSubQueryExpression(SqmModifiedSubQueryExpression expression) { + public Object visitModifiedSubQueryExpression(SqmModifiedSubQueryExpression expression) { return null; } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/spi/BaseSemanticQueryWalker.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/spi/BaseSemanticQueryWalker.java index 29f386c51897..ba3ce3ff9439 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/spi/BaseSemanticQueryWalker.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/spi/BaseSemanticQueryWalker.java @@ -6,6 +6,7 @@ import java.util.List; +import org.hibernate.AssertionFailure; import org.hibernate.metamodel.model.domain.DiscriminatorSqmPath; import org.hibernate.metamodel.model.domain.internal.AnyDiscriminatorSqmPath; import org.hibernate.query.sqm.InterpretationException; @@ -227,11 +228,14 @@ public Object visitCteStatement(SqmCteStatement sqmCteStatement) { } protected Object visitSelectQuery(SqmSelectQuery selectQuery) { - if ( selectQuery instanceof SqmSelectStatement ) { - return visitSelectStatement( (SqmSelectStatement) selectQuery ); + if ( selectQuery instanceof SqmSelectStatement statement ) { + return visitSelectStatement( statement ); + } + else if ( selectQuery instanceof SqmSubQuery subquery ) { + return visitSubQueryExpression( subquery ); } else { - return visitSubQueryExpression( (SqmSubQuery) selectQuery ); + throw new AssertionFailure( "Unrecognized SQM select query type" ); } } @@ -297,11 +301,7 @@ private void consumeJoins(SqmRoot sqmRoot) { } protected void consumeExplicitJoins(SqmFrom sqmFrom) { - sqmFrom.visitSqmJoins( - sqmJoin -> { - consumeExplicitJoin( sqmJoin, true ); - } - ); + sqmFrom.visitSqmJoins( sqmJoin -> consumeExplicitJoin( sqmJoin, true ) ); final List> sqmTreats = sqmFrom.getSqmTreats(); if ( !sqmTreats.isEmpty() ) { for ( SqmFrom sqmTreat : sqmTreats ) { @@ -317,26 +317,26 @@ protected void consumeTreat(SqmFrom sqmTreat) { protected void consumeExplicitJoin( SqmJoin sqmJoin, boolean transitive) { - if ( sqmJoin instanceof SqmAttributeJoin ) { - consumeAttributeJoin( ( (SqmAttributeJoin) sqmJoin ), transitive ); + if ( sqmJoin instanceof SqmAttributeJoin join ) { + consumeAttributeJoin( join, transitive ); } - else if ( sqmJoin instanceof SqmCrossJoin ) { - consumeCrossJoin( ( (SqmCrossJoin) sqmJoin ), transitive ); + else if ( sqmJoin instanceof SqmCrossJoin crossJoin ) { + consumeCrossJoin( crossJoin, transitive ); } - else if ( sqmJoin instanceof SqmEntityJoin ) { - consumeEntityJoin( ( (SqmEntityJoin) sqmJoin ), transitive ); + else if ( sqmJoin instanceof SqmEntityJoin entityJoin ) { + consumeEntityJoin( entityJoin, transitive ); } - else if ( sqmJoin instanceof SqmDerivedJoin ) { - consumeDerivedJoin( ( (SqmDerivedJoin) sqmJoin ), transitive ); + else if ( sqmJoin instanceof SqmDerivedJoin derivedJoin ) { + consumeDerivedJoin( derivedJoin, transitive ); } - else if ( sqmJoin instanceof SqmFunctionJoin ) { - consumeFunctionJoin( (SqmFunctionJoin) sqmJoin, transitive ); + else if ( sqmJoin instanceof SqmFunctionJoin functionJoin ) { + consumeFunctionJoin( functionJoin, transitive ); } - else if ( sqmJoin instanceof SqmCteJoin ) { - consumeCteJoin( ( (SqmCteJoin) sqmJoin ), transitive ); + else if ( sqmJoin instanceof SqmCteJoin cteJoin ) { + consumeCteJoin( cteJoin, transitive ); } - else if ( sqmJoin instanceof SqmPluralPartJoin ) { - consumePluralPartJoin( ( (SqmPluralPartJoin) sqmJoin ), transitive ); + else if ( sqmJoin instanceof SqmPluralPartJoin pluralPartJoin ) { + consumePluralPartJoin( pluralPartJoin, transitive ); } else { throw new InterpretationException( "Could not visit SqmJoin [" + sqmJoin.getNavigablePath() + "] of type [" + sqmJoin.getClass().getName() + "]" ); @@ -416,7 +416,7 @@ public Object visitRootDerived(SqmDerivedRoot sqmRoot) { } @Override - public Object visitRootFunction(SqmFunctionRoot sqmRoot) { + public Object visitRootFunction(SqmFunctionRootsqmRoot) { return sqmRoot; } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/sql/BaseSqmToSqlAstConverter.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/sql/BaseSqmToSqlAstConverter.java index 51ffa1b288b1..2442c8408fe0 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/sql/BaseSqmToSqlAstConverter.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/sql/BaseSqmToSqlAstConverter.java @@ -1686,7 +1686,7 @@ else if ( instantiationTarget.getNature() == DynamicInstantiationNature.MAP ) { targetJavaType = (Class) Map.class; } else { - targetJavaType = instantiationTarget.getJavaType(); + targetJavaType = (Class) instantiationTarget.getJavaType(); } return getCreationContext().getMappingMetamodel() diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmDynamicInstantiationTarget.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmDynamicInstantiationTarget.java index 9a1a428385bd..ebab24111604 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmDynamicInstantiationTarget.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmDynamicInstantiationTarget.java @@ -33,7 +33,7 @@ public interface SqmDynamicInstantiationTarget extends SqmExpressible { * * @return The type to be instantiated. */ - default Class getJavaType() { + default Class getJavaType() { return getTargetTypeDescriptor().getJavaTypeClass(); } }