44
44
import org .hibernate .cache .internal .StandardTimestampsCacheFactory ;
45
45
import org .hibernate .cache .spi .RegionFactory ;
46
46
import org .hibernate .cache .spi .TimestampsCacheFactory ;
47
- import org .hibernate .cfg .AvailableSettings ;
48
47
import org .hibernate .context .spi .CurrentTenantIdentifierResolver ;
49
48
import org .hibernate .dialect .Dialect ;
50
49
import org .hibernate .engine .config .spi .ConfigurationService ;
53
52
import org .hibernate .engine .jdbc .spi .JdbcServices ;
54
53
import org .hibernate .id .uuid .LocalObjectUuidHelper ;
55
54
import org .hibernate .internal .BaselineSessionEventsListenerBuilder ;
56
- import org .hibernate .internal .CoreMessageLogger ;
57
55
import org .hibernate .internal .EmptyInterceptor ;
58
56
import org .hibernate .internal .util .NullnessHelper ;
59
57
import org .hibernate .internal .util .config .ConfigurationHelper ;
87
85
import static java .util .Collections .unmodifiableMap ;
88
86
import static org .hibernate .Timeouts .WAIT_FOREVER_MILLI ;
89
87
import static org .hibernate .cfg .AvailableSettings .*;
90
- import static org .hibernate .cfg .AvailableSettings .JAKARTA_LOCK_SCOPE ;
91
- import static org .hibernate .cfg .AvailableSettings .JAKARTA_LOCK_TIMEOUT ;
92
- import static org .hibernate .cfg .AvailableSettings .JPA_LOCK_TIMEOUT ;
93
- import static org .hibernate .cfg .CacheSettings .JAKARTA_SHARED_CACHE_RETRIEVE_MODE ;
94
- import static org .hibernate .cfg .CacheSettings .JAKARTA_SHARED_CACHE_STORE_MODE ;
95
- import static org .hibernate .cfg .CacheSettings .JPA_SHARED_CACHE_RETRIEVE_MODE ;
96
- import static org .hibernate .cfg .CacheSettings .JPA_SHARED_CACHE_STORE_MODE ;
97
- import static org .hibernate .cfg .CacheSettings .QUERY_CACHE_LAYOUT ;
98
88
import static org .hibernate .cfg .DialectSpecificSettings .ORACLE_OSON_DISABLED ;
99
- import static org .hibernate .cfg .PersistenceSettings .UNOWNED_ASSOCIATION_TRANSIENT_CHECK ;
100
- import static org .hibernate .cfg .QuerySettings .DEFAULT_NULL_ORDERING ;
101
- import static org .hibernate .cfg .QuerySettings .JSON_FUNCTIONS_ENABLED ;
102
- import static org .hibernate .cfg .QuerySettings .PORTABLE_INTEGER_DIVISION ;
103
- import static org .hibernate .cfg .QuerySettings .XML_FUNCTIONS_ENABLED ;
104
89
import static org .hibernate .engine .config .spi .StandardConverters .BOOLEAN ;
105
- import static org .hibernate .internal .CoreLogging .messageLogger ;
106
90
import static org .hibernate .internal .LockOptionsHelper .applyPropertiesToLockOptions ;
107
91
import static org .hibernate .internal .log .DeprecationLogger .DEPRECATION_LOGGER ;
108
92
import static org .hibernate .internal .util .PropertiesHelper .map ;
131
115
* @author Steve Ebersole
132
116
*/
133
117
public class SessionFactoryOptionsBuilder implements SessionFactoryOptions {
134
- private static final CoreMessageLogger log = messageLogger ( SessionFactoryOptionsBuilder .class );
135
118
136
119
private final String uuid = LocalObjectUuidHelper .generateLocalObjectUuid ();
137
120
private final StandardServiceRegistry serviceRegistry ;
@@ -291,35 +274,34 @@ public SessionFactoryOptionsBuilder(StandardServiceRegistry serviceRegistry, Boo
291
274
settings .putAll ( configurationService .getSettings () );
292
275
293
276
beanManagerReference = NullnessHelper .coalesceSuppliedValues (
294
- () -> settings .get ( AvailableSettings . JAKARTA_CDI_BEAN_MANAGER ),
277
+ () -> settings .get ( JAKARTA_CDI_BEAN_MANAGER ),
295
278
() -> {
296
- final Object value = settings .get ( AvailableSettings . CDI_BEAN_MANAGER );
279
+ final Object value = settings .get ( CDI_BEAN_MANAGER );
297
280
if ( value != null ) {
298
- DEPRECATION_LOGGER .deprecatedSetting (
299
- AvailableSettings .CDI_BEAN_MANAGER ,
300
- AvailableSettings .JAKARTA_CDI_BEAN_MANAGER
301
- );
281
+ DEPRECATION_LOGGER .deprecatedSetting ( CDI_BEAN_MANAGER ,
282
+ JAKARTA_CDI_BEAN_MANAGER );
302
283
}
303
284
return value ;
304
285
}
305
286
);
306
287
307
288
validatorFactoryReference = settings .getOrDefault (
308
- AvailableSettings . JPA_VALIDATION_FACTORY ,
309
- settings .get ( AvailableSettings . JAKARTA_VALIDATION_FACTORY )
289
+ JPA_VALIDATION_FACTORY ,
290
+ settings .get ( JAKARTA_VALIDATION_FACTORY )
310
291
);
311
292
312
293
jsonFormatMapper = jsonFormatMapper (
313
- settings .get ( AvailableSettings . JSON_FORMAT_MAPPER ),
314
- !getBoolean ( ORACLE_OSON_DISABLED , settings ),
294
+ settings .get ( JSON_FORMAT_MAPPER ),
295
+ !getBoolean ( ORACLE_OSON_DISABLED , settings ),
315
296
strategySelector
316
297
);
317
298
318
299
xmlFormatMapper = xmlFormatMapper (
319
- settings .get ( AvailableSettings . XML_FORMAT_MAPPER ),
300
+ settings .get ( XML_FORMAT_MAPPER ),
320
301
strategySelector ,
321
302
xmlFormatMapperLegacyFormatEnabled =
322
- context .getMetadataBuildingOptions ().isXmlFormatMapperLegacyFormatEnabled ()
303
+ context .getMetadataBuildingOptions ()
304
+ .isXmlFormatMapperLegacyFormatEnabled ()
323
305
);
324
306
325
307
sessionFactoryName = (String ) settings .get ( SESSION_FACTORY_NAME );
@@ -395,19 +377,19 @@ public SessionFactoryOptionsBuilder(StandardServiceRegistry serviceRegistry, Boo
395
377
jtaTrackByThread = configurationService .getSetting ( JTA_TRACK_BY_THREAD , BOOLEAN , true );
396
378
397
379
final String hqlTranslatorImplFqn =
398
- extractPropertyValue ( AvailableSettings . SEMANTIC_QUERY_PRODUCER , settings );
380
+ extractPropertyValue ( SEMANTIC_QUERY_PRODUCER , settings );
399
381
hqlTranslator = resolveHqlTranslator ( hqlTranslatorImplFqn , serviceRegistry , strategySelector );
400
382
401
383
final String sqmTranslatorFactoryImplFqn =
402
- extractPropertyValue ( AvailableSettings . SEMANTIC_QUERY_TRANSLATOR , settings );
384
+ extractPropertyValue ( SEMANTIC_QUERY_TRANSLATOR , settings );
403
385
sqmTranslatorFactory = resolveSqmTranslator ( sqmTranslatorFactoryImplFqn , strategySelector );
404
386
405
387
final String sqmMutationStrategyImplName =
406
- extractPropertyValue ( AvailableSettings . QUERY_MULTI_TABLE_MUTATION_STRATEGY , settings );
388
+ extractPropertyValue ( QUERY_MULTI_TABLE_MUTATION_STRATEGY , settings );
407
389
sqmMultiTableMutationStrategy =
408
390
resolveSqmMutationStrategy ( sqmMutationStrategyImplName , serviceRegistry , strategySelector );
409
391
final String sqmInsertStrategyImplName =
410
- extractPropertyValue ( AvailableSettings . QUERY_MULTI_TABLE_INSERT_STRATEGY , settings );
392
+ extractPropertyValue ( QUERY_MULTI_TABLE_INSERT_STRATEGY , settings );
411
393
sqmMultiTableInsertStrategy =
412
394
resolveSqmInsertStrategy ( sqmInsertStrategyImplName , serviceRegistry , strategySelector );
413
395
@@ -461,25 +443,18 @@ public SessionFactoryOptionsBuilder(StandardServiceRegistry serviceRegistry, Boo
461
443
autoEvictCollectionCache = false ;
462
444
}
463
445
464
- // deprecated
446
+ // deprecated, delete this:
465
447
try {
466
- schemaAutoTooling = SchemaAutoTooling .interpret ( (String ) settings .get ( AvailableSettings . HBM2DDL_AUTO ) );
448
+ schemaAutoTooling = SchemaAutoTooling .interpret ( (String ) settings .get ( HBM2DDL_AUTO ) );
467
449
}
468
450
catch (Exception e ) {
469
- log . warn ( e . getMessage () + " Ignoring" );
451
+ // ignore, since this member is deprecated and ignored
470
452
}
471
453
454
+ final var meta = jdbcServices .getExtractedMetaDataSupport ();
455
+
472
456
// deprecated
473
- final ExtractedDatabaseMetaData meta = jdbcServices .getExtractedMetaDataSupport ();
474
- if ( meta .doesDataDefinitionCauseTransactionCommit () ) {
475
- tempTableDdlTransactionHandling =
476
- meta .supportsDataDefinitionInTransaction ()
477
- ? TempTableDdlTransactionHandling .ISOLATE_AND_TRANSACT
478
- : TempTableDdlTransactionHandling .ISOLATE ;
479
- }
480
- else {
481
- tempTableDdlTransactionHandling = TempTableDdlTransactionHandling .NONE ;
482
- }
457
+ tempTableDdlTransactionHandling = getTempTableDdlTransactionHandling ( meta );
483
458
484
459
jdbcBatchSize = disallowBatchUpdates ( dialect , meta ) ? 0
485
460
: getInt ( STATEMENT_BATCH_SIZE , settings , 1 );
@@ -494,7 +469,7 @@ public SessionFactoryOptionsBuilder(StandardServiceRegistry serviceRegistry, Boo
494
469
connectionHandlingMode = interpretConnectionHandlingMode ( settings , serviceRegistry );
495
470
496
471
connectionProviderDisablesAutoCommit =
497
- getBoolean ( AvailableSettings . CONNECTION_PROVIDER_DISABLES_AUTOCOMMIT , settings , false );
472
+ getBoolean ( CONNECTION_PROVIDER_DISABLES_AUTOCOMMIT , settings , false );
498
473
499
474
commentsEnabled = getBoolean ( USE_SQL_COMMENTS , settings );
500
475
@@ -510,11 +485,11 @@ public SessionFactoryOptionsBuilder(StandardServiceRegistry serviceRegistry, Boo
510
485
jdbcTimeZone = getJdbcTimeZone ( settings .get ( JDBC_TIME_ZONE ) );
511
486
512
487
criteriaValueHandlingMode = ValueHandlingMode .interpret ( settings .get ( CRITERIA_VALUE_HANDLING_MODE ) );
513
- criteriaCopyTreeEnabled = getBoolean ( AvailableSettings . CRITERIA_COPY_TREE , settings , jpaBootstrap );
514
- criteriaPlanCacheEnabled = getBoolean ( AvailableSettings . CRITERIA_PLAN_CACHE_ENABLED , settings , false );
488
+ criteriaCopyTreeEnabled = getBoolean ( CRITERIA_COPY_TREE , settings , jpaBootstrap );
489
+ criteriaPlanCacheEnabled = getBoolean ( CRITERIA_PLAN_CACHE_ENABLED , settings , false );
515
490
516
491
nativeJdbcParametersIgnored =
517
- getBoolean ( AvailableSettings . NATIVE_IGNORE_JDBC_PARAMETERS , settings , false );
492
+ getBoolean ( NATIVE_IGNORE_JDBC_PARAMETERS , settings , false );
518
493
519
494
// added the boolean parameter in case we want to define some form of "all" as discussed
520
495
jpaCompliance = context .getJpaCompliance ();
@@ -542,10 +517,10 @@ public SessionFactoryOptionsBuilder(StandardServiceRegistry serviceRegistry, Boo
542
517
getBoolean ( UNOWNED_ASSOCIATION_TRANSIENT_CHECK , settings , isJpaBootstrap () );
543
518
544
519
passProcedureParameterNames =
545
- getBoolean ( AvailableSettings . QUERY_PASS_PROCEDURE_PARAMETER_NAMES , settings , false );
520
+ getBoolean ( QUERY_PASS_PROCEDURE_PARAMETER_NAMES , settings , false );
546
521
547
522
preferJdbcDatetimeTypes =
548
- getBoolean ( AvailableSettings . NATIVE_PREFER_JDBC_DATETIME_TYPES , settings , false );
523
+ getBoolean ( NATIVE_PREFER_JDBC_DATETIME_TYPES , settings , false );
549
524
550
525
defaultSessionProperties = initializeDefaultSessionProperties ( configurationService );
551
526
@@ -557,6 +532,18 @@ public SessionFactoryOptionsBuilder(StandardServiceRegistry serviceRegistry, Boo
557
532
initialSessionFlushMode = defaultFlushMode ( defaultSessionProperties );
558
533
}
559
534
535
+ @ Deprecated (forRemoval = true )
536
+ private static TempTableDdlTransactionHandling getTempTableDdlTransactionHandling (ExtractedDatabaseMetaData meta ) {
537
+ if ( meta .doesDataDefinitionCauseTransactionCommit () ) {
538
+ return meta .supportsDataDefinitionInTransaction ()
539
+ ? TempTableDdlTransactionHandling .ISOLATE_AND_TRANSACT
540
+ : TempTableDdlTransactionHandling .ISOLATE ;
541
+ }
542
+ else {
543
+ return TempTableDdlTransactionHandling .NONE ;
544
+ }
545
+ }
546
+
560
547
private TimeZone getJdbcTimeZone (Object jdbcTimeZoneValue ) {
561
548
if ( jdbcTimeZoneValue instanceof TimeZone timeZone ) {
562
549
return timeZone ;
0 commit comments