Top Description Fields Constructors Methods
org.hibernate.dialect.sequence

public Class TiDBSequenceSupport

extends Object
implements SequenceSupport
Class Inheritance
All Implemented Interfaces
org.hibernate.dialect.sequence.SequenceSupport
Imports
org.hibernate.MappingException

Sequence support for org.hibernate.dialect.TiDBDialect.
Author
Cong Wang

Field Summary

Modifier and TypeField and Description
public static final SequenceSupport

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public String
getCreateSequenceString(String
The name of the sequence
sequenceName
,
int
The initial value to apply to 'create sequence' statement
initialValue
,
int
The increment value to apply to 'create sequence' statement
incrementSize
)

Overrides default org.hibernate.dialect.sequence.SequenceSupport.getCreateSequenceString.

Typically dialects which support sequences can create a sequence with a single command.
public String
getDropSequenceString(String
The name of the sequence
sequenceName
)

Overrides default org.hibernate.dialect.sequence.SequenceSupport.getDropSequenceString.

Typically dialects which support sequences can drop a sequence with a single command.
public String
getSelectSequenceNextValString(String
the name of the sequence
sequenceName
)

Implements org.hibernate.dialect.sequence.SequenceSupport.getSelectSequenceNextValString.

Generate the select expression fragment that will retrieve the next value of a sequence as part of another (typically DML) statement.
public String
getSelectSequencePreviousValString(String
the name of the sequence
sequenceName
)

Overrides default org.hibernate.dialect.sequence.SequenceSupport.getSelectSequencePreviousValString.

Generate the select expression fragment that will retrieve the previous value of a sequence as part of another (typically DML) statement.
public boolean
sometimesNeedsStartingValue()

Overrides default org.hibernate.dialect.sequence.SequenceSupport.sometimesNeedsStartingValue.

Do we need to explicitly specify minvalue or maxvalue when the initial value doesn't have the same sign as the increment?
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

INSTANCEback to summary
public static final SequenceSupport INSTANCE

Constructor Detail

TiDBSequenceSupportback to summary
public TiDBSequenceSupport()

Method Detail

getCreateSequenceStringback to summary
public String getCreateSequenceString(String sequenceName, int initialValue, int incrementSize) throws MappingException

Overrides default org.hibernate.dialect.sequence.SequenceSupport.getCreateSequenceString.

Doc from org.hibernate.dialect.sequence.SequenceSupport.getCreateSequenceString.

Typically dialects which support sequences can create a sequence with a single command. This method is a convenience making it easier to implement getCreateSequenceStrings(String, int, int) for these dialects.

Overloaded form of getCreateSequenceString(String), additionally taking the initial value and increment size to be applied to the sequence definition.

The default definition is to suffix getCreateSequenceString(String) with the string: start with initialValue increment by incrementSize for the arguments initialValue and incrementSize. Dialects need to override this method if different key phrases are used to apply the allocation information.
Parameters
sequenceName:String

The name of the sequence

initialValue:int

The initial value to apply to 'create sequence' statement

incrementSize:int

The increment value to apply to 'create sequence' statement

Returns:String

The sequence creation command

Annotations
@Override
Exceptions
MappingException:
If sequences are not supported.
getDropSequenceStringback to summary
public String getDropSequenceString(String sequenceName)

Overrides default org.hibernate.dialect.sequence.SequenceSupport.getDropSequenceString.

Doc from org.hibernate.dialect.sequence.SequenceSupport.getDropSequenceString.

Typically dialects which support sequences can drop a sequence with a single command. This is convenience form of getDropSequenceStrings 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 getDropSequenceStrings.

Parameters
sequenceName:String

The name of the sequence

Returns:String

The sequence drop commands

Annotations
@Override
getSelectSequenceNextValStringback to summary
public String getSelectSequenceNextValString(String sequenceName)

Implements org.hibernate.dialect.sequence.SequenceSupport.getSelectSequenceNextValString.

Doc from org.hibernate.dialect.sequence.SequenceSupport.getSelectSequenceNextValString.

Generate the select expression fragment that will retrieve the next value of a sequence as part of another (typically DML) statement.

This differs from getSequenceNextValString(String) in that it must return an expression usable within another statement.

Parameters
sequenceName:String

the name of the sequence

Returns:String

The "next value" fragment.

Annotations
@Override
getSelectSequencePreviousValStringback to summary
public String getSelectSequencePreviousValString(String sequenceName) throws MappingException

Overrides default org.hibernate.dialect.sequence.SequenceSupport.getSelectSequencePreviousValString.

Doc from org.hibernate.dialect.sequence.SequenceSupport.getSelectSequencePreviousValString.

Generate the select expression fragment that will retrieve the previous value of a sequence as part of another (typically DML) statement.

This differs from getSequencePreviousValString(String) in that it must return an expression usable within another statement.

Parameters
sequenceName:String

the name of the sequence

Returns:String

The "previous value" fragment.

Annotations
@Override
Exceptions
MappingException:
If sequences are not supported.
sometimesNeedsStartingValueback to summary
public boolean sometimesNeedsStartingValue()

Overrides default org.hibernate.dialect.sequence.SequenceSupport.sometimesNeedsStartingValue.

Doc from org.hibernate.dialect.sequence.SequenceSupport.sometimesNeedsStartingValue.

Do we need to explicitly specify minvalue or maxvalue when the initial value doesn't have the same sign as the increment?

Annotations
@Override