Skip to content

Commit 8796b47

Browse files
committed
extract a method in SessionFactoryImpl
and remove an obsolete comment
1 parent a3dc67d commit 8796b47

File tree

2 files changed

+13
-19
lines changed

2 files changed

+13
-19
lines changed

hibernate-core/src/main/java/org/hibernate/context/spi/AbstractCurrentSessionContext.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@
77
import org.hibernate.Session;
88
import org.hibernate.SessionBuilder;
99
import org.hibernate.context.TenantIdentifierMismatchException;
10-
import org.hibernate.engine.spi.SessionBuilderImplementor;
1110
import org.hibernate.engine.spi.SessionFactoryImplementor;
12-
import org.hibernate.type.descriptor.java.JavaType;
1311

1412
/**
1513
* Base support for {@link CurrentSessionContext} implementors.
@@ -24,16 +22,16 @@ protected AbstractCurrentSessionContext(SessionFactoryImplementor factory) {
2422
}
2523

2624
/**
27-
* Access to the SessionFactory
25+
* Access to the {@link org.hibernate.SessionFactory}.
2826
*
29-
* @return The SessionFactory being serviced by this context
27+
* @return The {@code SessionFactory} being serviced by this context
3028
*/
3129
public SessionFactoryImplementor factory() {
3230
return factory;
3331
}
3432

3533
protected SessionBuilder baseSessionBuilder() {
36-
final SessionBuilderImplementor builder = factory.withOptions();
34+
final var builder = factory.withOptions();
3735
final var resolver = factory.getCurrentTenantIdentifierResolver();
3836
if ( resolver != null ) {
3937
builder.tenantIdentifier( resolver.resolveCurrentTenantIdentifier() );
@@ -45,7 +43,7 @@ protected void validateExistingSession(Session existingSession) {
4543
final var resolver = factory.getCurrentTenantIdentifierResolver();
4644
if ( resolver != null && resolver.validateExistingCurrentSessions() ) {
4745
final Object currentValue = resolver.resolveCurrentTenantIdentifier();
48-
final JavaType<Object> tenantIdentifierJavaType = factory.getTenantIdentifierJavaType();
46+
final var tenantIdentifierJavaType = factory.getTenantIdentifierJavaType();
4947
if ( !tenantIdentifierJavaType.areEqual( currentValue, existingSession.getTenantIdentifierValue() ) ) {
5048
throw new TenantIdentifierMismatchException(
5149
String.format(

hibernate-core/src/main/java/org/hibernate/internal/SessionFactoryImpl.java

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -640,8 +640,6 @@ public <T> List<EntityGraph<? super T>> findEntityGraphsByType(Class<T> entityCl
640640
return getJpaMetamodel().findEntityGraphsByJavaType( entityClass );
641641
}
642642

643-
// todo : (5.2) review synchronizationType, persistenceContextType, transactionType usage
644-
645643
@Override
646644
public Session createEntityManager() {
647645
validateNotClosed();
@@ -1106,6 +1104,13 @@ public static Interceptor configuredInterceptor(Interceptor interceptor, boolean
11061104
return null;
11071105
}
11081106

1107+
private Object resolveTenantIdentifier() {
1108+
final var resolver = getCurrentTenantIdentifierResolver();
1109+
return resolver != null
1110+
? resolver.resolveCurrentTenantIdentifier()
1111+
: null;
1112+
}
1113+
11091114
public static class SessionBuilderImpl implements SessionBuilderImplementor, SessionCreationOptions {
11101115
private static final Logger log = CoreLogging.logger( SessionBuilderImpl.class );
11111116

@@ -1148,15 +1153,10 @@ public SessionBuilderImpl(SessionFactoryImpl sessionFactory) {
11481153
identifierRollback = options.isIdentifierRollbackEnabled();
11491154
cacheMode = options.getInitialSessionCacheMode();
11501155

1151-
final var currentTenantIdentifierResolver =
1152-
sessionFactory.getCurrentTenantIdentifierResolver();
1153-
if ( currentTenantIdentifierResolver != null ) {
1154-
tenantIdentifier = currentTenantIdentifierResolver.resolveCurrentTenantIdentifier();
1155-
}
1156+
tenantIdentifier = sessionFactory.resolveTenantIdentifier();
11561157
jdbcTimeZone = options.getJdbcTimeZone();
11571158
}
11581159

1159-
11601160
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11611161
// SessionCreationOptions
11621162

@@ -1405,11 +1405,7 @@ public StatelessSessionBuilderImpl(SessionFactoryImpl sessionFactory) {
14051405
final var options = sessionFactory.getSessionFactoryOptions();
14061406
statementInspector = options.getStatementInspector();
14071407
cacheMode = options.getInitialSessionCacheMode();
1408-
1409-
final var tenantIdentifierResolver = sessionFactory.getCurrentTenantIdentifierResolver();
1410-
if ( tenantIdentifierResolver != null ) {
1411-
tenantIdentifier = tenantIdentifierResolver.resolveCurrentTenantIdentifier();
1412-
}
1408+
tenantIdentifier = sessionFactory.resolveTenantIdentifier();
14131409
}
14141410

14151411
@Override

0 commit comments

Comments
 (0)