Package org.hibernate.id.enhanced
Class TableStructure
- java.lang.Object
-
- org.hibernate.id.enhanced.TableStructure
-
- All Implemented Interfaces:
ExportableProducer,DatabaseStructure
public class TableStructure extends Object implements DatabaseStructure
Describes a table used to mimic sequence behavior
-
-
Constructor Summary
Constructors Constructor Description TableStructure(JdbcEnvironment jdbcEnvironment, QualifiedName qualifiedTableName, Identifier valueColumnNameIdentifier, int initialValue, int incrementSize, Class numberType)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description AccessCallbackbuildCallback(SharedSessionContractImplementor session)A callback to be able to get the next value from the underlying structure as needed.String[]getAllSqlForTests()intgetIncrementSize()The configured increment sizeintgetInitialValue()The configured initial valueStringgetName()Deprecated.QualifiedNamegetPhysicalName()The physical name of the database structure (table or sequence).intgetTimesAccessed()How many times has this structure been accessed through this reference?voidinitialize(SqlStringGenerationContext context)Initializes this structure, in particular pre-generates SQL as necessary.booleanisPhysicalSequence()Is the structure physically a sequence?voidprepare(Optimizer optimizer)Prepare this structure for use.voidregisterExportables(Database database)Register database objects involved in this structure, e.g.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.id.enhanced.DatabaseStructure
configure
-
-
-
-
Constructor Detail
-
TableStructure
public TableStructure(JdbcEnvironment jdbcEnvironment, QualifiedName qualifiedTableName, Identifier valueColumnNameIdentifier, int initialValue, int incrementSize, Class numberType)
-
-
Method Detail
-
getName
@Deprecated public String getName()
Deprecated.Description copied from interface:DatabaseStructureThe name of the database structure (table or sequence).- Specified by:
getNamein interfaceDatabaseStructure
-
getPhysicalName
public QualifiedName getPhysicalName()
Description copied from interface:DatabaseStructureThe physical name of the database structure (table or sequence).Only available after
DatabaseStructure.registerExportables(Database)has been called.- Specified by:
getPhysicalNamein interfaceDatabaseStructure- Returns:
- The structure name.
-
getInitialValue
public int getInitialValue()
Description copied from interface:DatabaseStructureThe configured initial value- Specified by:
getInitialValuein interfaceDatabaseStructure- Returns:
- The configured initial value
-
getIncrementSize
public int getIncrementSize()
Description copied from interface:DatabaseStructureThe configured increment size- Specified by:
getIncrementSizein interfaceDatabaseStructure- Returns:
- The configured increment size
-
getTimesAccessed
public int getTimesAccessed()
Description copied from interface:DatabaseStructureHow many times has this structure been accessed through this reference?- Specified by:
getTimesAccessedin interfaceDatabaseStructure- Returns:
- The number of accesses.
-
getAllSqlForTests
public String[] getAllSqlForTests()
- Specified by:
getAllSqlForTestsin interfaceDatabaseStructure
-
prepare
public void prepare(Optimizer optimizer)
Description copied from interface:DatabaseStructurePrepare this structure for use. Called sometime after instantiation, but before first use.- Specified by:
preparein interfaceDatabaseStructure- Parameters:
optimizer- The optimizer being applied to the generator.
-
buildCallback
public AccessCallback buildCallback(SharedSessionContractImplementor session)
Description copied from interface:DatabaseStructureA callback to be able to get the next value from the underlying structure as needed.- Specified by:
buildCallbackin interfaceDatabaseStructure- Parameters:
session- The session.- Returns:
- The next value.
-
isPhysicalSequence
public boolean isPhysicalSequence()
Description copied from interface:DatabaseStructureIs the structure physically a sequence?- Specified by:
isPhysicalSequencein interfaceDatabaseStructure- Returns:
trueif the actual database structure is a sequence;falseotherwise.
-
registerExportables
public void registerExportables(Database database)
Description copied from interface:DatabaseStructureRegister database objects involved in this structure, e.g. sequences, tables, etc.This method is called just once, after
DatabaseStructure.configure(Optimizer), but beforeDatabaseStructure.initialize(SqlStringGenerationContext).- Specified by:
registerExportablesin interfaceDatabaseStructure- Specified by:
registerExportablesin interfaceExportableProducer- Parameters:
database- The database instance
-
initialize
public void initialize(SqlStringGenerationContext context)
Description copied from interface:DatabaseStructureInitializes this structure, in particular pre-generates SQL as necessary.This method is called just once, after
DatabaseStructure.registerExportables(Database), before first use.- Specified by:
initializein interfaceDatabaseStructure- Parameters:
context- A context to help generate SQL strings
-
-