HHH-17220 Avoid runtime lookups of JdbcService from TableGenerator and TableStructure

This commit is contained in:
Sanne Grinovero 2023-09-15 19:35:28 +02:00 committed by Sanne Grinovero
parent 22ed4793b9
commit b1dd13a407
3 changed files with 4 additions and 6 deletions

View File

@ -32,7 +32,6 @@
import org.hibernate.engine.jdbc.Size;
import org.hibernate.engine.jdbc.env.spi.JdbcEnvironment;
import org.hibernate.engine.jdbc.internal.FormatStyle;
import org.hibernate.engine.jdbc.spi.JdbcServices;
import org.hibernate.engine.jdbc.spi.SqlStatementLogger;
import org.hibernate.engine.spi.SessionEventListenerManager;
import org.hibernate.engine.spi.SharedSessionContractImplementor;
@ -555,8 +554,8 @@ private IntegralDataTypeHolder makeValue() {
@Override
public Object generate(final SharedSessionContractImplementor session, final Object obj) {
final SqlStatementLogger statementLogger = session.getFactory().getServiceRegistry()
.getService( JdbcServices.class )
final SqlStatementLogger statementLogger = session.
getFactory().getJdbcServices()
.getSqlStatementLogger();
final SessionEventListenerManager statsCollector = session.getEventListenerManager();

View File

@ -120,8 +120,7 @@ private IntegralDataTypeHolder makeValue() {
@Override
public AccessCallback buildCallback(final SharedSessionContractImplementor session) {
final SqlStatementLogger statementLogger = session.getFactory().getServiceRegistry()
.getService( JdbcServices.class )
final SqlStatementLogger statementLogger = session.getFactory().getJdbcServices()
.getSqlStatementLogger();
if ( selectQuery == null || updateQuery == null ) {
throw new AssertionFailure( "SequenceStyleGenerator's TableStructure was not properly initialized" );

View File

@ -850,7 +850,7 @@ public static Map<String, String> getEntityNameByTableNameMap(
private MultiIdEntityLoader<Object> buildMultiIdLoader(PersistentClass persistentClass) {
if ( persistentClass.getIdentifier() instanceof BasicValue
&& MultiKeyLoadHelper.supportsSqlArrayType( factory.getServiceRegistry().getService( JdbcServices.class ).getDialect() ) ) {
&& MultiKeyLoadHelper.supportsSqlArrayType( factory.getFastSessionServices().dialect ) ) {
return new MultiIdEntityLoaderArrayParam<>( this, factory );
}
return new MultiIdEntityLoaderStandard<>( this, persistentClass, factory );