44 */
55package org .hibernate .loader .ast .internal ;
66
7- import java .util .Arrays ;
8- import java .util .List ;
9- import java .util .Locale ;
10- import java .util .function .BiConsumer ;
11- import java .util .function .Consumer ;
12-
137import org .hibernate .HibernateException ;
148import org .hibernate .LockOptions ;
159import org .hibernate .engine .spi .LoadQueryInfluencers ;
3125import org .hibernate .sql .ast .tree .expression .Expression ;
3226import org .hibernate .sql .ast .tree .expression .JdbcParameter ;
3327import org .hibernate .sql .ast .tree .from .TableGroup ;
34- import org .hibernate .sql .ast .tree .from .TableReference ;
3528import org .hibernate .sql .ast .tree .predicate .ComparisonPredicate ;
3629import org .hibernate .sql .ast .tree .predicate .NullnessPredicate ;
3730import org .hibernate .sql .ast .tree .predicate .Predicate ;
3831import org .hibernate .sql .ast .tree .select .QuerySpec ;
3932import org .hibernate .sql .ast .tree .select .SelectStatement ;
4033import org .hibernate .sql .exec .internal .BaseExecutionContext ;
4134import org .hibernate .sql .exec .internal .CallbackImpl ;
35+ import org .hibernate .sql .exec .internal .JdbcOperationQuerySelect ;
4236import org .hibernate .sql .exec .internal .JdbcParameterBindingImpl ;
4337import org .hibernate .sql .exec .internal .JdbcParameterBindingsImpl ;
4438import org .hibernate .sql .exec .internal .JdbcParameterImpl ;
4539import org .hibernate .sql .exec .spi .Callback ;
46- import org .hibernate .sql .exec .internal .JdbcOperationQuerySelect ;
4740import org .hibernate .sql .exec .spi .JdbcParameterBinding ;
4841import org .hibernate .sql .exec .spi .JdbcParameterBindings ;
4942import org .hibernate .sql .exec .spi .JdbcParametersList ;
50- import org .hibernate .sql .results .graph .*;
5143import org .hibernate .sql .results .graph .internal .ImmutableFetchList ;
5244import org .hibernate .sql .results .internal .RowTransformerSingularReturnImpl ;
5345import org .hibernate .sql .results .spi .ListResultsConsumer ;
54- import org .hibernate .stat .spi .StatisticsImplementor ;
46+
47+ import java .util .Arrays ;
48+ import java .util .List ;
49+ import java .util .Locale ;
50+ import java .util .function .BiConsumer ;
51+ import java .util .function .Consumer ;
5552
5653import static java .util .Collections .emptyList ;
5754import static java .util .Collections .singletonList ;
@@ -90,13 +87,14 @@ public EntityMappingType getLoadable() {
9087
9188 @ Override
9289 public T load (Object naturalIdValue , NaturalIdLoadOptions options , SharedSessionContractImplementor session ) {
93- final SessionFactoryImplementor factory = session .getFactory ();
90+ final var factory = session .getFactory ();
9491
95- final LockOptions lockOptions = options .getLockOptions () == null
96- ? new LockOptions ()
97- : options .getLockOptions ();
92+ final var lockOptions =
93+ options .getLockOptions () == null
94+ ? new LockOptions ()
95+ : options .getLockOptions ();
9896
99- final SelectStatement sqlSelect = LoaderSelectBuilder .createSelect (
97+ final var sqlSelect = LoaderSelectBuilder .createSelect (
10098 getLoadable (),
10199 null , // null here means to select everything
102100 true ,
@@ -109,7 +107,7 @@ public T load(Object naturalIdValue, NaturalIdLoadOptions options, SharedSession
109107 factory
110108 );
111109
112- final QuerySpec querySpec = sqlSelect .getQuerySpec ();
110+ final var querySpec = sqlSelect .getQuerySpec ();
113111 return executeNaturalIdQuery (
114112 naturalIdValue ,
115113 lockOptions ,
@@ -150,7 +148,7 @@ protected Expression resolveColumnReference(
150148 TableGroup rootTableGroup ,
151149 SelectableMapping selectableMapping ,
152150 SqlExpressionResolver sqlExpressionResolver ) {
153- final TableReference tableReference =
151+ final var tableReference =
154152 rootTableGroup .getTableReference ( rootTableGroup .getNavigablePath (),
155153 selectableMapping .getContainingTableExpression () );
156154 if ( tableReference == null ) {
@@ -177,22 +175,23 @@ public Object resolveNaturalIdToId(Object naturalIdValue, SharedSessionContractI
177175 );
178176 }
179177
180- final SessionFactoryImplementor factory = session .getFactory ();
181- final NavigablePath entityPath = new NavigablePath ( entityDescriptor .getRootPathName () );
182- final QuerySpec rootQuerySpec = new QuerySpec ( true );
178+ final var factory = session .getFactory ();
179+ final var entityPath = new NavigablePath ( entityDescriptor .getRootPathName () );
180+ final var rootQuerySpec = new QuerySpec ( true );
183181
184- final LoaderSqlAstCreationState sqlAstCreationState = new LoaderSqlAstCreationState (
185- rootQuerySpec ,
186- new SqlAliasBaseManager (),
187- new SimpleFromClauseAccessImpl (),
188- LockOptions .NONE ,
189- (fetchParent , creationState ) -> ImmutableFetchList .EMPTY ,
190- true ,
191- new LoadQueryInfluencers ( factory ),
192- factory .getSqlTranslationEngine ()
193- );
182+ final var sqlAstCreationState =
183+ new LoaderSqlAstCreationState (
184+ rootQuerySpec ,
185+ new SqlAliasBaseManager (),
186+ new SimpleFromClauseAccessImpl (),
187+ LockOptions .NONE ,
188+ (fetchParent , creationState ) -> ImmutableFetchList .EMPTY ,
189+ true ,
190+ new LoadQueryInfluencers ( factory ),
191+ factory .getSqlTranslationEngine ()
192+ );
194193
195- final TableGroup rootTableGroup = entityDescriptor .createRootTableGroup (
194+ final var rootTableGroup = entityDescriptor .createRootTableGroup (
196195 true ,
197196 entityPath ,
198197 null ,
@@ -204,7 +203,7 @@ public Object resolveNaturalIdToId(Object naturalIdValue, SharedSessionContractI
204203 rootQuerySpec .getFromClause ().addRoot ( rootTableGroup );
205204 sqlAstCreationState .getFromClauseAccess ().registerTableGroup ( entityPath , rootTableGroup );
206205
207- final DomainResult <?> domainResult =
206+ final var domainResult =
208207 entityDescriptor .getIdentifierMapping ().createDomainResult (
209208 rootTableGroup .getNavigablePath ()
210209 .append ( EntityIdentifierMapping .ID_ROLE_NAME ),
@@ -232,9 +231,9 @@ protected <R> R executeNaturalIdQuery(
232231 Consumer <Predicate > predicateConsumer ,
233232 LoaderSqlAstCreationState sqlAstCreationState ,
234233 SharedSessionContractImplementor session ) {
235- final SessionFactoryImplementor factory = session .getFactory ();
234+ final var factory = session .getFactory ();
236235
237- final JdbcParameterBindings bindings =
236+ final var bindings =
238237 new JdbcParameterBindingsImpl ( naturalIdMapping .getJdbcTypeCount () );
239238 applyNaturalIdRestriction (
240239 naturalIdMapping ().normalizeInput ( naturalIdValue ),
@@ -245,10 +244,10 @@ protected <R> R executeNaturalIdQuery(
245244 session
246245 );
247246
248- final QueryOptions queryOptions = new SimpleQueryOptions ( lockOptions , false );
247+ final var queryOptions = new SimpleQueryOptions ( lockOptions , false );
249248 final var jdbcSelect = createJdbcOperationQuerySelect ( sqlSelect , factory , bindings , queryOptions );
250249
251- final StatisticsImplementor statistics = factory .getStatistics ();
250+ final var statistics = factory .getStatistics ();
252251 final boolean statisticsEnabled = statistics .isStatisticsEnabled ();
253252 final long startTime = statisticsEnabled ? System .nanoTime () : -1L ;
254253
@@ -296,11 +295,11 @@ private static JdbcOperationQuerySelect createJdbcOperationQuerySelect(
296295
297296 @ Override
298297 public Object resolveIdToNaturalId (Object id , SharedSessionContractImplementor session ) {
299- final SessionFactoryImplementor factory = session .getFactory ();
300- final EntityIdentifierMapping identifierMapping = entityDescriptor ().getIdentifierMapping ();
298+ final var factory = session .getFactory ();
299+ final var identifierMapping = entityDescriptor ().getIdentifierMapping ();
301300
302- final JdbcParametersList . Builder builder = JdbcParametersList .newBuilder ();
303- final SelectStatement sqlSelect = LoaderSelectBuilder .createSelect (
301+ final var builder = JdbcParametersList .newBuilder ();
302+ final var sqlSelect = LoaderSelectBuilder .createSelect (
304303 entityDescriptor (),
305304 singletonList ( naturalIdMapping () ),
306305 identifierMapping ,
@@ -311,8 +310,8 @@ public Object resolveIdToNaturalId(Object id, SharedSessionContractImplementor s
311310 builder ::add ,
312311 factory
313312 );
314- final JdbcParametersList jdbcParameters = builder .build ();
315- final JdbcParameterBindings bindings = new JdbcParameterBindingsImpl ( jdbcParameters .size () );
313+ final var jdbcParameters = builder .build ();
314+ final var bindings = new JdbcParameterBindingsImpl ( jdbcParameters .size () );
316315 final int offset = bindings .registerParametersForEachJdbcValue ( id , identifierMapping , jdbcParameters , session );
317316 assert offset == jdbcParameters .size ();
318317
@@ -350,14 +349,14 @@ void applyRestriction(
350349 Object jdbcValue ,
351350 SelectableMapping jdbcValueMapping ,
352351 SqlExpressionResolver expressionResolver ) {
353- final Expression columnReference =
352+ final var columnReference =
354353 resolveColumnReference ( rootTableGroup , jdbcValueMapping , expressionResolver );
355354 if ( jdbcValue == null ) {
356355 predicateConsumer .accept ( new NullnessPredicate ( columnReference ) );
357356 }
358357 else {
359- final JdbcParameter jdbcParameter = new JdbcParameterImpl ( jdbcValueMapping .getJdbcMapping () );
360- final ComparisonPredicate predicate =
358+ final var jdbcParameter = new JdbcParameterImpl ( jdbcValueMapping .getJdbcMapping () );
359+ final var predicate =
361360 new ComparisonPredicate ( columnReference , ComparisonOperator .EQUAL , jdbcParameter );
362361 predicateConsumer .accept ( predicate );
363362 jdbcParameterConsumer .accept ( jdbcParameter ,
0 commit comments