Top Description Fields Constructors Methods
org.eclipse.persistence.sequencing

public Class NativeSequence

extends QuerySequence
Class Inheritance
Imports
org.eclipse.persistence.queries.*, org.eclipse.persistence.internal.databaseaccess.DatabasePlatform, .DatasourcePlatform

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".

Field Summary

Modifier and TypeField and 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 generatedKeys

protected boolean
shouldUseIdentityIfPlatformSupports

true indicates that identity should be used - if the platform supports identity.

Inherited from org.eclipse.persistence.sequencing.QuerySequence:
selectQueryshouldAcquireValueAfterInsertshouldSelectBeforeUpdateshouldSkipUpdateshouldUseTransactionupdateQuerywasSelectQueryCreatedwasUpdateQueryCreated

Constructor Summary

AccessConstructor and Description
public
public
NativeSequence(boolean shouldUseIdentityIfPlatformSupports)

public
NativeSequence(String name)

Create a new sequence with the name.

public
NativeSequence(String name, boolean shouldUseIdentityIfPlatformSupports)

public
NativeSequence(String name, int size)

Create a new sequence with the name and sequence pre-allocation size.

public
NativeSequence(String name, int size, boolean shouldUseIdentityIfPlatformSupports)

public
NativeSequence(String name, int size, int initialValue)

public
NativeSequence(String name, int size, int initialValue, boolean shouldUseIdentityIfPlatformSupports)

Method Summary

Modifier and TypeMethod and Description
protected ValueReadQuery
protected ValueReadQuery
public boolean
equals(Object
the reference object with which to compare.
obj
)

Overrides org.eclipse.persistence.sequencing.QuerySequence.equals.

Indicates whether some other object is "equal to" this one.
public QuerySequence
getDelegateSequence()

Return the sequence delegate.

public boolean
hasDelegateSequence()

Return if the sequence should be replaced by another sequence implementation.

public int
hashCode()

Overrides org.eclipse.persistence.sequencing.QuerySequence.hashCode.

Returns a hash code value for the object.
public boolean
public void
public void
public void
setDelegateSequence(QuerySequence delegateSequence)

Set the sequence delegate.

public void
setShouldUseGeneratedKeysIfPlatformSupports(boolean shouldUseGeneratedKeysIfPlatformSupports)

public void
setShouldUseIdentityIfPlatformSupports(boolean shouldUseIdentityIfPlatformSupports)

public boolean
public boolean
Inherited from org.eclipse.persistence.sequencing.QuerySequence:
buildUpdateQuerybuildUpdateQuerycreateArgumentsgetSelectQuerygetUpdateQueryselectsetSelectQuerysetShouldAcquireValueAfterInsertsetShouldSelectBeforeUpdatesetShouldSkipUpdatesetShouldUseTransactionsetUpdateQueryshouldAcquireValueAfterInsertshouldSelectBeforeUpdateshouldSkipUpdateshouldUseTransactionupdateupdateAndSelectSequence

Field Detail

delegateSequenceback to summary
protected QuerySequence delegateSequence

Allow sequencing to be delegated to another sequence if native sequencing is not supported.

shouldUseGeneratedKeysIfPlatformSupportsback to summary
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

shouldUseIdentityIfPlatformSupportsback to summary
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.

Constructor Detail

NativeSequenceback to summary
public NativeSequence()
NativeSequenceback to summary
public NativeSequence(boolean shouldUseIdentityIfPlatformSupports)
NativeSequenceback to summary
public NativeSequence(String name)

Create a new sequence with the name.

NativeSequenceback to summary
public NativeSequence(String name, boolean shouldUseIdentityIfPlatformSupports)
NativeSequenceback to summary
public NativeSequence(String name, int size)

Create a new sequence with the name and sequence pre-allocation size.

NativeSequenceback to summary
public NativeSequence(String name, int size, boolean shouldUseIdentityIfPlatformSupports)
NativeSequenceback to summary
public NativeSequence(String name, int size, int initialValue)
NativeSequenceback to summary
public NativeSequence(String name, int size, int initialValue, boolean shouldUseIdentityIfPlatformSupports)

Method Detail

buildSelectQueryback to summary
protected ValueReadQuery buildSelectQuery()

Overrides org.eclipse.persistence.sequencing.QuerySequence.buildSelectQuery.

INTERNAL:

Annotations
@Override
buildSelectQueryback to summary
protected ValueReadQuery buildSelectQuery(String seqName, Integer size)

Overrides org.eclipse.persistence.sequencing.QuerySequence.buildSelectQuery.

INTERNAL:

Annotations
@Override
equalsback to summary
public boolean equals(Object obj)

Overrides org.eclipse.persistence.sequencing.QuerySequence.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
obj:Object

the reference object with which to compare.

Returns:boolean

true if this object is the same as the obj argument; false otherwise.

Annotations
@Override
getDelegateSequenceback to summary
public QuerySequence getDelegateSequence()

Return the sequence delegate. This is used when the platform does not support the native sequence type.

hasDelegateSequenceback to summary
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.

hashCodeback to summary
public int hashCode()

Overrides org.eclipse.persistence.sequencing.QuerySequence.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns:int

a hash code value for this object.

Annotations
@Override
isNativeback to summary
public boolean isNative()

Overrides org.eclipse.persistence.sequencing.Sequence.isNative.

Annotations
@Override
onConnectback to summary
public void onConnect()

Overrides org.eclipse.persistence.sequencing.QuerySequence.onConnect.

INTERNAL:

Annotations
@Override
onDisconnectback to summary
public void onDisconnect()

Overrides org.eclipse.persistence.sequencing.QuerySequence.onDisconnect.

INTERNAL:

Annotations
@Override
setDelegateSequenceback to summary
public void setDelegateSequence(QuerySequence delegateSequence)

Set the sequence delegate. This is used when the platform does not support the native sequence type.

setShouldUseGeneratedKeysIfPlatformSupportsback to summary
public void setShouldUseGeneratedKeysIfPlatformSupports(boolean shouldUseGeneratedKeysIfPlatformSupports)
setShouldUseIdentityIfPlatformSupportsback to summary
public void setShouldUseIdentityIfPlatformSupports(boolean shouldUseIdentityIfPlatformSupports)
shouldUseGeneratedKeysIfPlatformSupportsback to summary
public boolean shouldUseGeneratedKeysIfPlatformSupports()
shouldUseIdentityIfPlatformSupportsback to summary
public boolean shouldUseIdentityIfPlatformSupports()