Skip to content

Commit

Permalink
HHH-15746 Register the StandardIdentifierGeneratorFactory as a defaul…
Browse files Browse the repository at this point in the history
…t Service
  • Loading branch information
DavideD authored and Sanne committed Nov 28, 2022
1 parent 7081d31 commit dd36425
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@
import org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider;
import org.hibernate.engine.jdbc.spi.JdbcServices;
import org.hibernate.id.factory.IdentifierGeneratorFactory;
import org.hibernate.id.factory.internal.StandardIdentifierGeneratorFactory;
import org.hibernate.internal.CoreLogging;
import org.hibernate.internal.CoreMessageLogger;
import org.hibernate.internal.log.DeprecationLogger;
Expand Down Expand Up @@ -567,7 +566,7 @@ public static class MetadataBuildingOptionsImpl

public MetadataBuildingOptionsImpl(StandardServiceRegistry serviceRegistry) {
this.serviceRegistry = serviceRegistry;
this.identifierGeneratorFactory = new StandardIdentifierGeneratorFactory( serviceRegistry );
this.identifierGeneratorFactory = serviceRegistry.getService( IdentifierGeneratorFactory.class );

final StrategySelector strategySelector = serviceRegistry.getService( StrategySelector.class );
final ConfigurationService configService = serviceRegistry.getService( ConfigurationService.class );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import org.hibernate.dialect.Dialect;
import org.hibernate.id.IdentifierGenerator;
import org.hibernate.id.factory.spi.GeneratorDefinitionResolver;
import org.hibernate.service.Service;
import org.hibernate.type.Type;
import org.hibernate.type.descriptor.java.JavaType;

Expand All @@ -21,7 +22,7 @@
*
* @author Steve Ebersole
*/
public interface IdentifierGeneratorFactory {
public interface IdentifierGeneratorFactory extends Service {
/**
* Get the dialect.
* @deprecated should be removed
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.id.factory.internal;

import java.util.Map;

import org.hibernate.boot.registry.StandardServiceInitiator;
import org.hibernate.id.factory.IdentifierGeneratorFactory;
import org.hibernate.service.spi.ServiceRegistryImplementor;

public class StandardIdentifierGeneratorFactoryInitiator implements StandardServiceInitiator<IdentifierGeneratorFactory> {
public static final StandardIdentifierGeneratorFactoryInitiator INSTANCE = new StandardIdentifierGeneratorFactoryInitiator();

@Override
public Class<IdentifierGeneratorFactory> getServiceInitiated() {
return IdentifierGeneratorFactory.class;
}

@Override
public IdentifierGeneratorFactory initiateService(Map configurationValues, ServiceRegistryImplementor registry) {
return new StandardIdentifierGeneratorFactory( registry );
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
import org.hibernate.engine.transaction.jta.platform.internal.JtaPlatformInitiator;
import org.hibernate.engine.transaction.jta.platform.internal.JtaPlatformResolverInitiator;
import org.hibernate.event.internal.EntityCopyObserverFactoryInitiator;
import org.hibernate.id.factory.internal.StandardIdentifierGeneratorFactoryInitiator;
import org.hibernate.persister.internal.PersisterClassResolverInitiator;
import org.hibernate.persister.internal.PersisterFactoryInitiator;
import org.hibernate.property.access.internal.PropertyAccessStrategyResolverInitiator;
Expand All @@ -54,6 +55,8 @@ private static List<StandardServiceInitiator<?>> buildStandardServiceInitiatorLi

serviceInitiators.add( DefaultSessionFactoryBuilderInitiator.INSTANCE );

serviceInitiators.add( StandardIdentifierGeneratorFactoryInitiator.INSTANCE );

serviceInitiators.add( BytecodeProviderInitiator.INSTANCE );
serviceInitiators.add( ProxyFactoryFactoryInitiator.INSTANCE );

Expand Down

0 comments on commit dd36425

Please sign in to comment.