Package org.hibernate.id.enhanced
Class TableStructure
- java.lang.Object
- org.hibernate.id.enhanced.TableStructure
- All Implemented Interfaces:
ExportableProducer,DatabaseStructure
public classTableStructureextendsObjectimplementsDatabaseStructure
Describes a table used to mimic sequence behavior
Constructor Summary
Constructors Constructor Description TableStructure(JdbcEnvironment jdbcEnvironment,String contributor,QualifiedName qualifiedTableName,Identifier valueColumnNameIdentifier, int initialValue, int incrementSize,Class numberType)
Method Summary
All Methods Instance Methods Concrete 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 valueQualifiedNamegetPhysicalName()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,String contributor,QualifiedName qualifiedTableName,Identifier valueColumnNameIdentifier, int initialValue, int incrementSize,Class numberType)
Method Detail
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