Top Description Fields Constructors Methods
org.hibernate.id.factory.internal

public Class StandardIdentifierGeneratorFactory

extends Object
implements IdentifierGeneratorFactory, LifecycleOptions, Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable, org.hibernate.resource.beans.container.spi.BeanContainer.LifecycleOptions, org.hibernate.id.factory.IdentifierGeneratorFactory, org.hibernate.service.Service
Imports
java.io.Serializable, java.util.Map, .Properties, java.util.concurrent.ConcurrentHashMap, org.hibernate.MappingException, org.hibernate.boot.registry.classloading.spi.ClassLoaderService, .ClassLoadingException, org.hibernate.boot.registry.selector.spi.StrategySelector, org.hibernate.dialect.Dialect, org.hibernate.engine.config.spi.ConfigurationService, org.hibernate.engine.jdbc.env.spi.JdbcEnvironment, org.hibernate.generator.Generator, org.hibernate.id.Assigned, .Configurable, .ForeignGenerator, .GUIDGenerator, .IdentifierGenerator, .IdentityGenerator, .IncrementGenerator, .SelectGenerator, .UUIDGenerator, .UUIDHexGenerator, org.hibernate.id.enhanced.SequenceStyleGenerator, .TableGenerator, org.hibernate.id.factory.IdentifierGeneratorFactory, org.hibernate.id.factory.spi.GenerationTypeStrategy, .GenerationTypeStrategyRegistration, .GeneratorDefinitionResolver, .StandardGenerator, org.hibernate.jpa.spi.IdentifierGeneratorStrategyProvider, org.hibernate.resource.beans.container.spi.BeanContainer, org.hibernate.resource.beans.internal.FallbackBeanInstanceProducer, .Helper, org.hibernate.resource.beans.spi.ManagedBeanRegistry, org.hibernate.service.ServiceRegistry, org.hibernate.type.Type, org.hibernate.type.descriptor.java.JavaType, jakarta.persistence.GenerationType

Basic implementation of org.hibernate.id.factory.IdentifierGeneratorFactory, responsible for instantiating the predefined built-in id generators, and generators declared using org.hibernate.annotations.GenericGenerator.
Author
Steve Ebersole

Field Summary

Modifier and TypeField and Description
private final BeanContainer
private Dialect
private final ConcurrentHashMap<GenerationType, GenerationTypeStrategy>
private final ConcurrentHashMap<String, Class<? extends Generator>>
private final ServiceRegistry

Constructor Summary

AccessConstructor and Description
public
StandardIdentifierGeneratorFactory(ServiceRegistry serviceRegistry)

Constructs a new factory

public
StandardIdentifierGeneratorFactory(ServiceRegistry serviceRegistry, boolean ignoreBeanContainer)

Constructs a new factory, explicitly controlling whether to use CDI or not

Method Summary

Modifier and TypeMethod and Description
public boolean
public IdentifierGenerator
createIdentifierGenerator(GenerationType generationType, String generatedValueGeneratorName, String generatorName, JavaType<?> javaType, Properties config, GeneratorDefinitionResolver definitionResolver)

Implements org.hibernate.id.factory.IdentifierGeneratorFactory.createIdentifierGenerator.

Create an IdentifierGenerator based on the given details.
public Generator
createIdentifierGenerator(String
The generation strategy.
strategy
,
Type
The mapping type for the identifier values.
type
,
Properties
Any parameters properties given in the generator mapping.
parameters
)

Implements org.hibernate.id.factory.IdentifierGeneratorFactory.createIdentifierGenerator.

Given a strategy, retrieve the appropriate identifier generator instance.
protected Class<? extends Generator>
private static BeanContainer
getBeanContainer(ServiceRegistry serviceRegistry, boolean ignoreBeanContainer)

public Dialect
public Class<? extends Generator>
getIdentifierGeneratorClass(String
The strategy
strategy
)

Implements org.hibernate.id.factory.IdentifierGeneratorFactory.getIdentifierGeneratorClass.

Retrieve the class that will be used as the IdentifierGenerator for the given strategy.
private void
private void
register(String strategy, Class<? extends Generator> generatorClass)

private void
private void
private void
public boolean
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

beanContainerback to summary
private final BeanContainer beanContainer
dialectback to summary
private Dialect dialect
generatorTypeStrategyMapback to summary
private final ConcurrentHashMap<GenerationType, GenerationTypeStrategy> generatorTypeStrategyMap
legacyGeneratorClassNameMapback to summary
private final ConcurrentHashMap<String, Class<? extends Generator>> legacyGeneratorClassNameMap
serviceRegistryback to summary
private final ServiceRegistry serviceRegistry

Constructor Detail

StandardIdentifierGeneratorFactoryback to summary
public StandardIdentifierGeneratorFactory(ServiceRegistry serviceRegistry)

Constructs a new factory

StandardIdentifierGeneratorFactoryback to summary
public StandardIdentifierGeneratorFactory(ServiceRegistry serviceRegistry, boolean ignoreBeanContainer)

Constructs a new factory, explicitly controlling whether to use CDI or not

Method Detail

canUseCachedReferencesback to summary
public boolean canUseCachedReferences()

Implements org.hibernate.resource.beans.container.spi.BeanContainer.LifecycleOptions.canUseCachedReferences.

Annotations
@Override
createIdentifierGeneratorback to summary
public IdentifierGenerator createIdentifierGenerator(GenerationType generationType, String generatedValueGeneratorName, String generatorName, JavaType<?> javaType, Properties config, GeneratorDefinitionResolver definitionResolver)

Implements org.hibernate.id.factory.IdentifierGeneratorFactory.createIdentifierGenerator.

Doc from org.hibernate.id.factory.IdentifierGeneratorFactory.createIdentifierGenerator.

Create an IdentifierGenerator based on the given details.

Annotations
@Override
createIdentifierGeneratorback to summary
public Generator createIdentifierGenerator(String strategy, Type type, Properties parameters)

Implements org.hibernate.id.factory.IdentifierGeneratorFactory.createIdentifierGenerator.

Doc from org.hibernate.id.factory.IdentifierGeneratorFactory.createIdentifierGenerator.

Given a strategy, retrieve the appropriate identifier generator instance.

Parameters
strategy:String

The generation strategy.

type:Type

The mapping type for the identifier values.

parameters:Properties

Any parameters properties given in the generator mapping.

Returns:Generator

The appropriate generator instance.

Annotations
@Override
generatorClassForNameback to summary
protected Class<? extends Generator> generatorClassForName(String strategy)
getBeanContainerback to summary
private static BeanContainer getBeanContainer(ServiceRegistry serviceRegistry, boolean ignoreBeanContainer)
getDialectback to summary
public Dialect getDialect()

Implements org.hibernate.id.factory.IdentifierGeneratorFactory.getDialect.

Doc from org.hibernate.id.factory.IdentifierGeneratorFactory.getDialect.

Deprecated

Get the dialect.

Returns:Dialect

the dialect

Annotations
@Override
@Deprecated
getIdentifierGeneratorClassback to summary
public Class<? extends Generator> getIdentifierGeneratorClass(String strategy)

Implements org.hibernate.id.factory.IdentifierGeneratorFactory.getIdentifierGeneratorClass.

Doc from org.hibernate.id.factory.IdentifierGeneratorFactory.getIdentifierGeneratorClass.

Retrieve the class that will be used as the IdentifierGenerator for the given strategy.

Parameters
strategy:String

The strategy

Returns:Class<? extends Generator>

The generator class.

Annotations
@Override
logOverridesback to summary
private void logOverrides()
registerback to summary
private void register(String strategy, Class<? extends Generator> generatorClass)
registerJpaGeneratorsback to summary
private void registerJpaGenerators()
registerPredefinedGeneratorsback to summary
private void registerPredefinedGenerators()
registerUsingLegacyContributorback to summary
private void registerUsingLegacyContributor()
useJpaCompliantCreationback to summary
public boolean useJpaCompliantCreation()

Implements org.hibernate.resource.beans.container.spi.BeanContainer.LifecycleOptions.useJpaCompliantCreation.

Annotations
@Override