Class NoSequenceSupport
- java.lang.Object
-
- org.hibernate.dialect.sequence.NoSequenceSupport
-
- All Implemented Interfaces:
SequenceSupport
public class NoSequenceSupport extends Object implements SequenceSupport
An instance ofSequenceSupport
support indicating that the SQL dialect does not support sequences.
-
-
Field Summary
Fields Modifier and Type Field Description static SequenceSupport
INSTANCE
-
Constructor Summary
Constructors Constructor Description NoSequenceSupport()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getCreateSequenceString(String sequenceName)
Typically dialects which support sequences can create a sequence with a single command.String
getCreateSequenceString(String sequenceName, int initialValue, int incrementSize)
Typically dialects which support sequences can create a sequence with a single command.String[]
getCreateSequenceStrings(String sequenceName, int initialValue, int incrementSize)
An optional multi-line form for databases whichSequenceSupport.supportsPooledSequences()
.String
getDropSequenceString(String sequenceName)
Typically dialects which support sequences can drop a sequence with a single command.String[]
getDropSequenceStrings(String sequenceName)
The multiline script used to drop a sequence.String
getSelectSequenceNextValString(String sequenceName)
Generate the select expression fragment that will retrieve the next value of a sequence as part of another (typically DML) statement.String
getSequenceNextValString(String sequenceName)
Generate the appropriate select statement to to retrieve the next value of a sequence.String
getSequenceNextValString(String sequenceName, int increment)
Generate the appropriate select statement to to retrieve the next value of a sequence.boolean
supportsPooledSequences()
Does this dialect support "pooled" sequences.boolean
supportsSequences()
Does this dialect support sequences?-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.dialect.sequence.SequenceSupport
getFromDual, getSelectSequencePreviousValString, getSequencePreviousValString, sometimesNeedsStartingValue, startingValue
-
-
-
-
Field Detail
-
INSTANCE
public static final SequenceSupport INSTANCE
-
-
Method Detail
-
supportsSequences
public boolean supportsSequences()
Description copied from interface:SequenceSupport
Does this dialect support sequences?- Specified by:
supportsSequences
in interfaceSequenceSupport
- Returns:
- True if sequences supported; false otherwise.
-
supportsPooledSequences
public boolean supportsPooledSequences()
Description copied from interface:SequenceSupport
Does this dialect support "pooled" sequences. Not aware of a better name for this. Essentially can we specify the initial and increment values?- Specified by:
supportsPooledSequences
in interfaceSequenceSupport
- Returns:
- True if such "pooled" sequences are supported; false otherwise.
- See Also:
SequenceSupport.getCreateSequenceStrings(String, int, int)
,SequenceSupport.getCreateSequenceString(String, int, int)
-
getSequenceNextValString
public String getSequenceNextValString(String sequenceName) throws MappingException
Description copied from interface:SequenceSupport
Generate the appropriate select statement to to retrieve the next value of a sequence.This should be a stand alone select statement.
- Specified by:
getSequenceNextValString
in interfaceSequenceSupport
- Parameters:
sequenceName
- the name of the sequence- Returns:
- String The select "next value" statement.
- Throws:
MappingException
- If sequences are not supported.
-
getSequenceNextValString
public String getSequenceNextValString(String sequenceName, int increment) throws MappingException
Description copied from interface:SequenceSupport
Generate the appropriate select statement to to retrieve the next value of a sequence.This should be a stand alone select statement.
- Specified by:
getSequenceNextValString
in interfaceSequenceSupport
- Parameters:
sequenceName
- the name of the sequenceincrement
- the increment, in case it needs to be passed explicitly- Returns:
- String The select "next value" statement.
- Throws:
MappingException
- If sequences are not supported.
-
getSelectSequenceNextValString
public String getSelectSequenceNextValString(String sequenceName) throws MappingException
Description copied from interface:SequenceSupport
Generate the select expression fragment that will retrieve the next value of a sequence as part of another (typically DML) statement.This differs from
SequenceSupport.getSequenceNextValString(String)
in that it must return an expression usable within another statement.- Specified by:
getSelectSequenceNextValString
in interfaceSequenceSupport
- Parameters:
sequenceName
- the name of the sequence- Returns:
- The "next value" fragment.
- Throws:
MappingException
- If sequences are not supported.
-
getCreateSequenceStrings
public String[] getCreateSequenceStrings(String sequenceName, int initialValue, int incrementSize) throws MappingException
Description copied from interface:SequenceSupport
An optional multi-line form for databases whichSequenceSupport.supportsPooledSequences()
.- Specified by:
getCreateSequenceStrings
in interfaceSequenceSupport
- Parameters:
sequenceName
- The name of the sequenceinitialValue
- The initial value to apply to 'create sequence' statementincrementSize
- The increment value to apply to 'create sequence' statement- Returns:
- The sequence creation commands
- Throws:
MappingException
- If sequences are not supported.
-
getCreateSequenceString
public String getCreateSequenceString(String sequenceName) throws MappingException
Description copied from interface:SequenceSupport
Typically dialects which support sequences can create a sequence with a single command. This method is a convenience making it easier to implementSequenceSupport.getCreateSequenceStrings(String,int,int)
for these dialects.The default definition is to return
create sequence sequenceName
for the argumentsequenceName
. Dialects need to override this method if a sequence created in this manner does not start at 1, or if the syntax is nonstandard.Dialects which support sequences and can create a sequence in a single command need *only* override this method. Dialects which support sequences but require multiple commands to create a sequence should override
SequenceSupport.getCreateSequenceStrings(String,int,int)
instead.- Specified by:
getCreateSequenceString
in interfaceSequenceSupport
- Parameters:
sequenceName
- The name of the sequence- Returns:
- The sequence creation command
- Throws:
MappingException
- If sequences are not supported.
-
getCreateSequenceString
public String getCreateSequenceString(String sequenceName, int initialValue, int incrementSize) throws MappingException
Description copied from interface:SequenceSupport
Typically dialects which support sequences can create a sequence with a single command. This method is a convenience making it easier to implementSequenceSupport.getCreateSequenceStrings(String,int,int)
for these dialects.Overloaded form of
The default definition is to suffixSequenceSupport.getCreateSequenceString(String)
, additionally taking the initial value and increment size to be applied to the sequence definition.SequenceSupport.getCreateSequenceString(String)
with the string:start with initialValue increment by incrementSize
for the argumentsinitialValue
andincrementSize
. Dialects need to override this method if different key phrases are used to apply the allocation information.- Specified by:
getCreateSequenceString
in interfaceSequenceSupport
- Parameters:
sequenceName
- The name of the sequenceinitialValue
- The initial value to apply to 'create sequence' statementincrementSize
- The increment value to apply to 'create sequence' statement- Returns:
- The sequence creation command
- Throws:
MappingException
- If sequences are not supported.
-
getDropSequenceStrings
public String[] getDropSequenceStrings(String sequenceName) throws MappingException
Description copied from interface:SequenceSupport
The multiline script used to drop a sequence.- Specified by:
getDropSequenceStrings
in interfaceSequenceSupport
- Parameters:
sequenceName
- The name of the sequence- Returns:
- The sequence drop commands
- Throws:
MappingException
- If sequences are not supported.
-
getDropSequenceString
public String getDropSequenceString(String sequenceName) throws MappingException
Description copied from interface:SequenceSupport
Typically dialects which support sequences can drop a sequence with a single command. This is convenience form ofSequenceSupport.getDropSequenceStrings(java.lang.String)
to help facilitate that.Dialects which support sequences and can drop a sequence in a single command need *only* override this method. Dialects which support sequences but require multiple commands to drop a sequence should instead override
SequenceSupport.getDropSequenceStrings(java.lang.String)
.- Specified by:
getDropSequenceString
in interfaceSequenceSupport
- Parameters:
sequenceName
- The name of the sequence- Returns:
- The sequence drop commands
- Throws:
MappingException
- If sequences are not supported.
-
-