Class NativeSequence
- java.lang.Object
-
- org.eclipse.persistence.sequencing.Sequence
-
- org.eclipse.persistence.sequencing.StandardSequence
-
- org.eclipse.persistence.sequencing.QuerySequence
-
- org.eclipse.persistence.sequencing.NativeSequence
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
public class NativeSequence extends QuerySequence
Purpose: Define a database's native sequencing mechanism.
Description Many databases have built in support for sequencing. This can be a SEQUENCE object such as in Oracle, or a auto-incrementing column such as the IDENTITY field in Sybase. For an auto-incrementing column the preallocation size is always 1. For a SEQUENCE object the preallocation size must match the SEQUENCE objects "increment by".
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected QuerySequence
delegateSequence
Allow sequencing to be delegated to another sequence if native sequencing is not supported.protected boolean
shouldUseGeneratedKeysIfPlatformSupports
true indicates that identity is used and generatedKeys should be used - if the platform supports generatedKeys false indicates that identity is used and generatedKeys should not be used - if the platform does not support generatedKeysprotected boolean
shouldUseIdentityIfPlatformSupports
true indicates that identity should be used - if the platform supports identity.-
Fields inherited from class org.eclipse.persistence.sequencing.QuerySequence
selectQuery, shouldAcquireValueAfterInsert, shouldSelectBeforeUpdate, shouldSkipUpdate, shouldUseTransaction, updateQuery, wasSelectQueryCreated, wasUpdateQueryCreated
-
Fields inherited from class org.eclipse.persistence.sequencing.Sequence
depth, initialValue, isCustomQualifier, name, platform, qualifier, shouldAlwaysOverrideExistingValue, size
-
-
Constructor Summary
Constructors Constructor Description NativeSequence()
NativeSequence(boolean shouldUseIdentityIfPlatformSupports)
NativeSequence(java.lang.String name)
Create a new sequence with the name.NativeSequence(java.lang.String name, boolean shouldUseIdentityIfPlatformSupports)
NativeSequence(java.lang.String name, int size)
Create a new sequence with the name and sequence pre-allocation size.NativeSequence(java.lang.String name, int size, boolean shouldUseIdentityIfPlatformSupports)
NativeSequence(java.lang.String name, int size, int initialValue)
NativeSequence(java.lang.String name, int size, int initialValue, boolean shouldUseIdentityIfPlatformSupports)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ValueReadQuery
buildSelectQuery()
INTERNAL:protected ValueReadQuery
buildSelectQuery(java.lang.String seqName, java.lang.Integer size)
INTERNAL:boolean
equals(java.lang.Object obj)
QuerySequence
getDelegateSequence()
Return the sequence delegate.boolean
hasDelegateSequence()
Return if the sequence should be replaced by another sequence implementation.int
hashCode()
boolean
isNative()
void
onConnect()
INTERNAL:void
onDisconnect()
INTERNAL:void
setDelegateSequence(QuerySequence delegateSequence)
Set the sequence delegate.void
setShouldUseGeneratedKeysIfPlatformSupports(boolean shouldUseGeneratedKeysIfPlatformSupports)
void
setShouldUseIdentityIfPlatformSupports(boolean shouldUseIdentityIfPlatformSupports)
boolean
shouldUseGeneratedKeysIfPlatformSupports()
boolean
shouldUseIdentityIfPlatformSupports()
-
Methods inherited from class org.eclipse.persistence.sequencing.QuerySequence
buildUpdateQuery, buildUpdateQuery, createArguments, getSelectQuery, getUpdateQuery, select, setSelectQuery, setShouldAcquireValueAfterInsert, setShouldSelectBeforeUpdate, setShouldSkipUpdate, setShouldUseTransaction, setUpdateQuery, shouldAcquireValueAfterInsert, shouldSelectBeforeUpdate, shouldSkipUpdate, shouldUseTransaction, update, updateAndSelectSequence
-
Methods inherited from class org.eclipse.persistence.sequencing.StandardSequence
createVector, createVectorAtNextVal, getGeneratedValue, getGeneratedVector, setInitialValue
-
Methods inherited from class org.eclipse.persistence.sequencing.Sequence
clone, equalNameAndSize, getDatasourcePlatform, getGeneratedValue, getGeneratedVector, getInitialValue, getName, getPreallocationSize, getQualified, getQualifier, isConnected, isCustomQualifier, isTable, isUnaryTable, onConnect, onDisconnect, setDatasourcePlatform, setName, setPreallocationSize, setQualifier, setShouldAlwaysOverrideExistingValue, shouldAlwaysOverrideExistingValue, shouldAlwaysOverrideExistingValue, shouldUsePreallocation, toString, verifyPlatform
-
-
-
-
Field Detail
-
shouldUseIdentityIfPlatformSupports
protected boolean shouldUseIdentityIfPlatformSupports
true indicates that identity should be used - if the platform supports identity. false indicates that sequence objects should be used - if the platform supports sequence objects.
-
shouldUseGeneratedKeysIfPlatformSupports
protected boolean shouldUseGeneratedKeysIfPlatformSupports
true indicates that identity is used and generatedKeys should be used - if the platform supports generatedKeys false indicates that identity is used and generatedKeys should not be used - if the platform does not support generatedKeys
-
delegateSequence
protected QuerySequence delegateSequence
Allow sequencing to be delegated to another sequence if native sequencing is not supported.
-
-
Constructor Detail
-
NativeSequence
public NativeSequence()
-
NativeSequence
public NativeSequence(boolean shouldUseIdentityIfPlatformSupports)
-
NativeSequence
public NativeSequence(java.lang.String name)
Create a new sequence with the name.
-
NativeSequence
public NativeSequence(java.lang.String name, boolean shouldUseIdentityIfPlatformSupports)
-
NativeSequence
public NativeSequence(java.lang.String name, int size)
Create a new sequence with the name and sequence pre-allocation size.
-
NativeSequence
public NativeSequence(java.lang.String name, int size, boolean shouldUseIdentityIfPlatformSupports)
-
NativeSequence
public NativeSequence(java.lang.String name, int size, int initialValue)
-
NativeSequence
public NativeSequence(java.lang.String name, int size, int initialValue, boolean shouldUseIdentityIfPlatformSupports)
-
-
Method Detail
-
setShouldUseIdentityIfPlatformSupports
public void setShouldUseIdentityIfPlatformSupports(boolean shouldUseIdentityIfPlatformSupports)
-
shouldUseIdentityIfPlatformSupports
public boolean shouldUseIdentityIfPlatformSupports()
-
setShouldUseGeneratedKeysIfPlatformSupports
public void setShouldUseGeneratedKeysIfPlatformSupports(boolean shouldUseGeneratedKeysIfPlatformSupports)
-
shouldUseGeneratedKeysIfPlatformSupports
public boolean shouldUseGeneratedKeysIfPlatformSupports()
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classQuerySequence
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classQuerySequence
-
buildSelectQuery
protected ValueReadQuery buildSelectQuery()
INTERNAL:- Overrides:
buildSelectQuery
in classQuerySequence
-
buildSelectQuery
protected ValueReadQuery buildSelectQuery(java.lang.String seqName, java.lang.Integer size)
INTERNAL:- Overrides:
buildSelectQuery
in classQuerySequence
-
hasDelegateSequence
public boolean hasDelegateSequence()
Return if the sequence should be replaced by another sequence implementation. This is used when the platform does not support the native sequence type.
-
getDelegateSequence
public QuerySequence getDelegateSequence()
Return the sequence delegate. This is used when the platform does not support the native sequence type.
-
setDelegateSequence
public void setDelegateSequence(QuerySequence delegateSequence)
Set the sequence delegate. This is used when the platform does not support the native sequence type.
-
onConnect
public void onConnect()
INTERNAL:- Overrides:
onConnect
in classQuerySequence
-
onDisconnect
public void onDisconnect()
INTERNAL:- Overrides:
onDisconnect
in classQuerySequence
-
-