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:
java.io.Serializable
,org.hibernate.boot.model.relational.ExportableProducer
,org.hibernate.generator.BeforeExecutionGenerator
,org.hibernate.generator.Generator
,org.hibernate.id.Configurable
,org.hibernate.id.IdentifierGenerator
,ReactiveIdentifierGenerator<java.lang.Long>
public class EmulatedSequenceReactiveIdentifierGenerator extends TableReactiveIdentifierGenerator
Support for JPA'sSequenceGenerator
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:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.hibernate.reactive.id.impl.TableReactiveIdentifierGenerator
renderedTableName, segmentColumnName, valueColumnName
-
-
Constructor Summary
Constructors Constructor Description EmulatedSequenceReactiveIdentifierGenerator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.String
buildInsertQuery()
protected java.lang.String
buildSelectQuery()
protected java.lang.String
buildUpdateQuery()
void
configure(org.hibernate.type.Type type, java.util.Properties params, org.hibernate.service.ServiceRegistry serviceRegistry)
protected int
determineIncrement(java.util.Properties params)
protected int
determineInitialValue(java.util.Properties params)
protected java.lang.String
determineSegmentColumnName(java.util.Properties params, org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment)
protected java.lang.String
determineSegmentValue(java.util.Properties params)
protected java.lang.Boolean
determineStoreLastUsedValue(org.hibernate.service.ServiceRegistry serviceRegistry)
protected java.lang.String
determineTableName(org.hibernate.type.Type type, java.util.Properties params, org.hibernate.service.ServiceRegistry serviceRegistry)
protected java.lang.String
determineValueColumnNameForTable(java.util.Properties params, org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment)
protected java.lang.Object[]
insertParameters(long insertedValue)
protected java.lang.Object[]
selectParameters()
protected java.lang.Object[]
updateParameters(long currentValue, long updatedValue)
-
Methods inherited from class org.hibernate.reactive.id.impl.TableReactiveIdentifierGenerator
determineDefaultSegmentValue, generate, getBlockSize, initialize, nextHiValue, registerExportables
-
Methods inherited from class org.hibernate.reactive.id.impl.BlockingIdentifierGenerator
generate
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.generator.BeforeExecutionGenerator
generatedOnExecution
-
-
-
-
Method Detail
-
configure
public void configure(org.hibernate.type.Type type, java.util.Properties params, org.hibernate.service.ServiceRegistry serviceRegistry)
- Specified by:
configure
in interfaceorg.hibernate.id.Configurable
- Specified by:
configure
in interfaceorg.hibernate.id.IdentifierGenerator
- Overrides:
configure
in classTableReactiveIdentifierGenerator
-
determineStoreLastUsedValue
protected java.lang.Boolean determineStoreLastUsedValue(org.hibernate.service.ServiceRegistry serviceRegistry)
- Overrides:
determineStoreLastUsedValue
in classTableReactiveIdentifierGenerator
-
determineTableName
protected java.lang.String determineTableName(org.hibernate.type.Type type, java.util.Properties params, org.hibernate.service.ServiceRegistry serviceRegistry)
- Overrides:
determineTableName
in classTableReactiveIdentifierGenerator
-
determineValueColumnNameForTable
protected java.lang.String determineValueColumnNameForTable(java.util.Properties params, org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment)
- Overrides:
determineValueColumnNameForTable
in classTableReactiveIdentifierGenerator
-
determineSegmentColumnName
protected java.lang.String determineSegmentColumnName(java.util.Properties params, org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment)
- Overrides:
determineSegmentColumnName
in classTableReactiveIdentifierGenerator
-
determineSegmentValue
protected java.lang.String determineSegmentValue(java.util.Properties params)
- Overrides:
determineSegmentValue
in classTableReactiveIdentifierGenerator
-
determineInitialValue
protected int determineInitialValue(java.util.Properties params)
- Overrides:
determineInitialValue
in classTableReactiveIdentifierGenerator
-
determineIncrement
protected int determineIncrement(java.util.Properties params)
- Overrides:
determineIncrement
in classTableReactiveIdentifierGenerator
-
updateParameters
protected java.lang.Object[] updateParameters(long currentValue, long updatedValue)
- Overrides:
updateParameters
in classTableReactiveIdentifierGenerator
-
insertParameters
protected java.lang.Object[] insertParameters(long insertedValue)
- Overrides:
insertParameters
in classTableReactiveIdentifierGenerator
-
selectParameters
protected java.lang.Object[] selectParameters()
- Overrides:
selectParameters
in classTableReactiveIdentifierGenerator
-
buildSelectQuery
protected java.lang.String buildSelectQuery()
- Overrides:
buildSelectQuery
in classTableReactiveIdentifierGenerator
-
buildUpdateQuery
protected java.lang.String buildUpdateQuery()
- Overrides:
buildUpdateQuery
in classTableReactiveIdentifierGenerator
-
buildInsertQuery
protected java.lang.String buildInsertQuery()
- Overrides:
buildInsertQuery
in classTableReactiveIdentifierGenerator
-
-