Package org.hibernate.reactive.id.impl
Class EmulatedSequenceReactiveIdentifierGenerator
java.lang.Object
org.hibernate.reactive.id.impl.BlockingIdentifierGenerator
org.hibernate.reactive.id.impl.TableReactiveIdentifierGenerator
org.hibernate.reactive.id.impl.EmulatedSequenceReactiveIdentifierGenerator
- All Implemented Interfaces:
Serializable,org.hibernate.boot.model.relational.ExportableProducer,org.hibernate.generator.BeforeExecutionGenerator,org.hibernate.generator.Generator,org.hibernate.id.Configurable,org.hibernate.id.IdentifierGenerator,ReactiveIdentifierGenerator<Long>
Support for JPA's
SequenceGenerator
for databases which do not support sequences. Persistence is
managed via a table with just one row and one column.
This implementation supports block allocation, but does not guarantee that generated identifiers are sequential.
- See Also:
-
Field Summary
Fields inherited from class org.hibernate.reactive.id.impl.TableReactiveIdentifierGenerator
renderedTableName, segmentColumnName, valueColumnNameFields inherited from interface org.hibernate.id.IdentifierGenerator
CONTRIBUTOR_NAME, ENTITY_NAME, GENERATOR_NAME, JPA_ENTITY_NAME -
Constructor Summary
ConstructorsConstructorDescriptionEmulatedSequenceReactiveIdentifierGenerator(org.hibernate.id.enhanced.TableStructure structure, org.hibernate.metamodel.spi.RuntimeModelCreationContext runtimeModelCreationContext) -
Method Summary
Modifier and TypeMethodDescriptionprotected StringbuildInsertQuery(org.hibernate.dialect.Dialect dialect) protected StringbuildSelectQuery(org.hibernate.dialect.Dialect dialect) protected StringbuildUpdateQuery(org.hibernate.dialect.Dialect dialect) voidconfigure(org.hibernate.type.Type type, Properties params, org.hibernate.service.ServiceRegistry serviceRegistry) protected StringdetermineSegmentColumnName(Properties params, org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment) protected StringdetermineSegmentValue(Properties params) protected BooleandetermineStoreLastUsedValue(org.hibernate.service.ServiceRegistry serviceRegistry) protected StringdetermineTableName(org.hibernate.type.Type type, Properties params, org.hibernate.service.ServiceRegistry serviceRegistry) protected StringdetermineValueColumnNameForTable(Properties params, org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment) protected Object[]insertParameters(long insertedValue) protected Object[]protected Object[]updateParameters(long currentValue, long updatedValue) Methods inherited from class org.hibernate.reactive.id.impl.TableReactiveIdentifierGenerator
determineDefaultSegmentValue, determineIncrement, determineInitialValue, generate, getBlockSize, nextHiValueMethods inherited from class org.hibernate.reactive.id.impl.BlockingIdentifierGenerator
generateMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.hibernate.generator.BeforeExecutionGenerator
generatedOnExecutionMethods inherited from interface org.hibernate.id.Configurable
configure, initializeMethods inherited from interface org.hibernate.generator.Generator
allowAssignedIdentifiers, allowMutation, generatedBeforeExecution, generatedOnExecution, generatesOnForceIncrement, generatesOnInsert, generatesOnUpdate, generatesSometimesMethods inherited from interface org.hibernate.id.IdentifierGenerator
generate, getEventTypes, registerExportablesMethods inherited from interface org.hibernate.reactive.id.ReactiveIdentifierGenerator
generate
-
Constructor Details
-
EmulatedSequenceReactiveIdentifierGenerator
public EmulatedSequenceReactiveIdentifierGenerator(org.hibernate.id.enhanced.TableStructure structure, org.hibernate.metamodel.spi.RuntimeModelCreationContext runtimeModelCreationContext)
-
-
Method Details
-
configure
public void configure(org.hibernate.type.Type type, Properties params, org.hibernate.service.ServiceRegistry serviceRegistry) - Specified by:
configurein interfaceorg.hibernate.id.Configurable- Specified by:
configurein interfaceorg.hibernate.id.IdentifierGenerator- Overrides:
configurein classTableReactiveIdentifierGenerator
-
determineStoreLastUsedValue
protected Boolean determineStoreLastUsedValue(org.hibernate.service.ServiceRegistry serviceRegistry) - Overrides:
determineStoreLastUsedValuein classTableReactiveIdentifierGenerator
-
determineTableName
protected String determineTableName(org.hibernate.type.Type type, Properties params, org.hibernate.service.ServiceRegistry serviceRegistry) - Overrides:
determineTableNamein classTableReactiveIdentifierGenerator
-
determineValueColumnNameForTable
protected String determineValueColumnNameForTable(Properties params, org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment) - Overrides:
determineValueColumnNameForTablein classTableReactiveIdentifierGenerator
-
determineSegmentColumnName
protected String determineSegmentColumnName(Properties params, org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment) - Overrides:
determineSegmentColumnNamein classTableReactiveIdentifierGenerator
-
determineSegmentValue
- Overrides:
determineSegmentValuein classTableReactiveIdentifierGenerator
-
updateParameters
- Overrides:
updateParametersin classTableReactiveIdentifierGenerator
-
insertParameters
- Overrides:
insertParametersin classTableReactiveIdentifierGenerator
-
selectParameters
- Overrides:
selectParametersin classTableReactiveIdentifierGenerator
-
buildSelectQuery
- Overrides:
buildSelectQueryin classTableReactiveIdentifierGenerator
-
buildUpdateQuery
- Overrides:
buildUpdateQueryin classTableReactiveIdentifierGenerator
-
buildInsertQuery
- Overrides:
buildInsertQueryin classTableReactiveIdentifierGenerator
-