Package org.hibernate.id.enhanced
Interface DatabaseStructure
-
- All Superinterfaces:
ExportableProducer
- All Known Implementing Classes:
OrderedSequenceStructure
,SequenceStructure
,TableStructure
public interface DatabaseStructure extends ExportableProducer
Encapsulates definition of the underlying data structure backing a sequence-style generator.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description AccessCallback
buildCallback(SharedSessionContractImplementor session)
A callback to be able to get the next value from the underlying structure as needed.default void
configure(Optimizer optimizer)
Configures this structure with the given arguments.default String[]
getAllSqlForTests()
Deprecated.Exposed for tests only.int
getIncrementSize()
The configured increment sizeint
getInitialValue()
The configured initial valueQualifiedName
getPhysicalName()
The physical name of the database structure (table or sequence).int
getTimesAccessed()
How many times has this structure been accessed through this reference?default void
initialize(SqlStringGenerationContext context)
Initializes this structure, in particular pre-generates SQL as necessary.boolean
isPhysicalSequence()
Is the structure physically a sequence?default void
prepare(Optimizer optimizer)
Deprecated.Useconfigure(Optimizer)
instead.void
registerExportables(Database database)
Register database objects involved in this structure, e.g.
-
-
-
Method Detail
-
getPhysicalName
QualifiedName getPhysicalName()
The physical name of the database structure (table or sequence).Only available after
registerExportables(Database)
has been called.- Returns:
- The structure name.
-
getTimesAccessed
int getTimesAccessed()
How many times has this structure been accessed through this reference?- Returns:
- The number of accesses.
-
getInitialValue
int getInitialValue()
The configured initial value- Returns:
- The configured initial value
-
getIncrementSize
int getIncrementSize()
The configured increment size- Returns:
- The configured increment size
-
buildCallback
AccessCallback buildCallback(SharedSessionContractImplementor session)
A callback to be able to get the next value from the underlying structure as needed.- Parameters:
session
- The session.- Returns:
- The next value.
-
prepare
@Deprecated default void prepare(Optimizer optimizer)
Deprecated.Useconfigure(Optimizer)
instead.Prepare this structure for use. Called sometime after instantiation, but before first use.- Parameters:
optimizer
- The optimizer being applied to the generator.
-
configure
default void configure(Optimizer optimizer)
Configures this structure with the given arguments.Called just after instantiation, before
initialize(SqlStringGenerationContext)
- Parameters:
optimizer
- The optimizer being applied to the generator.
-
registerExportables
void registerExportables(Database database)
Register database objects involved in this structure, e.g. sequences, tables, etc.This method is called just once, after
configure(Optimizer)
, but beforeinitialize(SqlStringGenerationContext)
.- Specified by:
registerExportables
in interfaceExportableProducer
- Parameters:
database
- The database instance
-
initialize
default void initialize(SqlStringGenerationContext context)
Initializes this structure, in particular pre-generates SQL as necessary.This method is called just once, after
registerExportables(Database)
, before first use.- Parameters:
context
- A context to help generate SQL strings
-
isPhysicalSequence
boolean isPhysicalSequence()
Is the structure physically a sequence?- Returns:
true
if the actual database structure is a sequence;false
otherwise.
-
getAllSqlForTests
@Deprecated default String[] getAllSqlForTests()
Deprecated.Exposed for tests only.
-
-