org.hibernate.id.enhanced
Interface DatabaseStructure

All Known Implementing Classes:
SequenceStructure, TableStructure

public interface DatabaseStructure

Encapsulates definition of the underlying data structure backing a sequence-style generator.

Author:
Steve Ebersole

Method Summary
 AccessCallback buildCallback(SessionImplementor session)
          A callback to be able to get the next value from the underlying structure as needed.
 int getIncrementSize()
          The configured increment size
 String getName()
          The name of the database structure (table or sequence).
 int getTimesAccessed()
          How many times has this structure been accessed through this reference?
 void prepare(Optimizer optimizer)
          Prepare this structure for use.
 String[] sqlCreateStrings(Dialect dialect)
          Commands needed to create the underlying structures.
 String[] sqlDropStrings(Dialect dialect)
          Commands needed to drop the underlying structures.
 

Method Detail

getName

String getName()
The name of the database structure (table or sequence).

Returns:
The structure name.

getTimesAccessed

int getTimesAccessed()
How many times has this structure been accessed through this reference?

Returns:
The number of accesses.

getIncrementSize

int getIncrementSize()
The configured increment size

Returns:
The configured increment size

buildCallback

AccessCallback buildCallback(SessionImplementor 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

void prepare(Optimizer optimizer)
Prepare this structure for use. Called sometime after instantiation, but before first use.

Parameters:
optimizer - The optimizer being applied to the generator.

sqlCreateStrings

String[] sqlCreateStrings(Dialect dialect)
Commands needed to create the underlying structures.

Parameters:
dialect - The database dialect being used.
Returns:
The creation commands.

sqlDropStrings

String[] sqlDropStrings(Dialect dialect)
Commands needed to drop the underlying structures.

Parameters:
dialect - The database dialect being used.
Returns:
The drop commands.