Send feedback
Enum TransactionOptions.IsolationLevel (6.98.1)
Stay organized with collections
Save and categorize content based on your preferences.
Version latestkeyboard_arrow_down
public enum TransactionOptions . IsolationLevel extends Enum<TransactionOptions . IsolationLevel > implements ProtocolMessageEnum
IsolationLevel
is used when setting isolation_level
for a transaction.
Protobuf enum google.spanner.v1.TransactionOptions.IsolationLevel
Static Fields
Name
Description
ISOLATION_LEVEL_UNSPECIFIED
Default value.
If the value is not specified, the SERIALIZABLE
isolation level is
used.
ISOLATION_LEVEL_UNSPECIFIED = 0;
ISOLATION_LEVEL_UNSPECIFIED_VALUE
Default value.
If the value is not specified, the SERIALIZABLE
isolation level is
used.
ISOLATION_LEVEL_UNSPECIFIED = 0;
REPEATABLE_READ
All reads performed during the transaction observe a consistent snapshot
of the database, and the transaction is only successfully committed in
the absence of conflicts between its updates and any concurrent updates
that have occurred since that snapshot. Consequently, in contrast to
SERIALIZABLE
transactions, only write-write conflicts are detected in
snapshot transactions.
This isolation level does not support Read-only and Partitioned DML
transactions.
When REPEATABLE_READ
is specified on a read-write transaction, the
locking semantics default to OPTIMISTIC
.
REPEATABLE_READ = 2;
REPEATABLE_READ_VALUE
All reads performed during the transaction observe a consistent snapshot
of the database, and the transaction is only successfully committed in
the absence of conflicts between its updates and any concurrent updates
that have occurred since that snapshot. Consequently, in contrast to
SERIALIZABLE
transactions, only write-write conflicts are detected in
snapshot transactions.
This isolation level does not support Read-only and Partitioned DML
transactions.
When REPEATABLE_READ
is specified on a read-write transaction, the
locking semantics default to OPTIMISTIC
.
REPEATABLE_READ = 2;
SERIALIZABLE
All transactions appear as if they executed in a serial order, even if
some of the reads, writes, and other operations of distinct transactions
actually occurred in parallel. Spanner assigns commit timestamps that
reflect the order of committed transactions to implement this property.
Spanner offers a stronger guarantee than serializability called external
consistency. For further details, please refer to
https://cloud.google.com/spanner/docs/true-time-external-consistency#serializability .
SERIALIZABLE = 1;
SERIALIZABLE_VALUE
All transactions appear as if they executed in a serial order, even if
some of the reads, writes, and other operations of distinct transactions
actually occurred in parallel. Spanner assigns commit timestamps that
reflect the order of committed transactions to implement this property.
Spanner offers a stronger guarantee than serializability called external
consistency. For further details, please refer to
https://cloud.google.com/spanner/docs/true-time-external-consistency#serializability .
SERIALIZABLE = 1;
UNRECOGNIZED
Static Methods
Name
Description
forNumber(int value)
getDescriptor()
internalGetValueMap()
valueOf(Descriptors.EnumValueDescriptor desc)
valueOf(int value)
Deprecated. Use #forNumber(int) instead.
valueOf(String name)
values()
Methods
Name
Description
getDescriptorForType()
getNumber()
getValueDescriptor()
Send feedback
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-28 UTC.
Need to tell us more?
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Enum TransactionOptions.IsolationLevel (6.98.1)\n\nVersion latestkeyboard_arrow_down\n\n- [6.98.1 (latest)](/java/docs/reference/google-cloud-spanner/latest/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.98.0](/java/docs/reference/google-cloud-spanner/6.98.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.97.1](/java/docs/reference/google-cloud-spanner/6.97.1/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.96.1](/java/docs/reference/google-cloud-spanner/6.96.1/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.95.1](/java/docs/reference/google-cloud-spanner/6.95.1/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.94.0](/java/docs/reference/google-cloud-spanner/6.94.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.93.0](/java/docs/reference/google-cloud-spanner/6.93.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.89.0](/java/docs/reference/google-cloud-spanner/6.89.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.88.0](/java/docs/reference/google-cloud-spanner/6.88.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.87.0](/java/docs/reference/google-cloud-spanner/6.87.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.86.0](/java/docs/reference/google-cloud-spanner/6.86.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.85.0](/java/docs/reference/google-cloud-spanner/6.85.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.83.0](/java/docs/reference/google-cloud-spanner/6.83.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.82.0](/java/docs/reference/google-cloud-spanner/6.82.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.80.1](/java/docs/reference/google-cloud-spanner/6.80.1/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.79.0](/java/docs/reference/google-cloud-spanner/6.79.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.77.0](/java/docs/reference/google-cloud-spanner/6.77.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.74.1](/java/docs/reference/google-cloud-spanner/6.74.1/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.72.0](/java/docs/reference/google-cloud-spanner/6.72.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.71.0](/java/docs/reference/google-cloud-spanner/6.71.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.69.0](/java/docs/reference/google-cloud-spanner/6.69.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.68.0](/java/docs/reference/google-cloud-spanner/6.68.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.66.0](/java/docs/reference/google-cloud-spanner/6.66.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.65.1](/java/docs/reference/google-cloud-spanner/6.65.1/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.62.0](/java/docs/reference/google-cloud-spanner/6.62.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.60.0](/java/docs/reference/google-cloud-spanner/6.60.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.58.0](/java/docs/reference/google-cloud-spanner/6.58.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.57.0](/java/docs/reference/google-cloud-spanner/6.57.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.56.0](/java/docs/reference/google-cloud-spanner/6.56.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.55.0](/java/docs/reference/google-cloud-spanner/6.55.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.54.0](/java/docs/reference/google-cloud-spanner/6.54.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.53.0](/java/docs/reference/google-cloud-spanner/6.53.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.52.1](/java/docs/reference/google-cloud-spanner/6.52.1/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.51.0](/java/docs/reference/google-cloud-spanner/6.51.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.50.1](/java/docs/reference/google-cloud-spanner/6.50.1/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.49.0](/java/docs/reference/google-cloud-spanner/6.49.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.25.1](/java/docs/reference/google-cloud-spanner/6.25.1/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.24.0](/java/docs/reference/google-cloud-spanner/6.24.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.23.4](/java/docs/reference/google-cloud-spanner/6.23.4/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.22.0](/java/docs/reference/google-cloud-spanner/6.22.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.21.2](/java/docs/reference/google-cloud-spanner/6.21.2/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.20.0](/java/docs/reference/google-cloud-spanner/6.20.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.19.1](/java/docs/reference/google-cloud-spanner/6.19.1/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.18.0](/java/docs/reference/google-cloud-spanner/6.18.0/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.17.4](/java/docs/reference/google-cloud-spanner/6.17.4/com.google.spanner.v1.TransactionOptions.IsolationLevel)\n- [6.14.1](/java/docs/reference/google-cloud-spanner/6.14.1/com.google.spanner.v1.TransactionOptions.IsolationLevel) \n\n public enum TransactionOptions.IsolationLevel extends Enum\u003cTransactionOptions.IsolationLevel\u003e implements ProtocolMessageEnum\n\n`IsolationLevel` is used when setting `isolation_level` for a transaction.\n\nProtobuf enum `google.spanner.v1.TransactionOptions.IsolationLevel` \n\nImplements\n----------\n\n[ProtocolMessageEnum](https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.ProtocolMessageEnum.html) \n\nInherited Members\n-----------------\n\n[Enum.\\\u003cT\\\u003evalueOf(Class\\\u003cT\\\u003e,String)](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#valueOf-java.lang.Class-java.lang.String-) \n[Enum.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#clone--) \n[Enum.compareTo(E)](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#compareTo-E-) \n[Enum.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#equals-java.lang.Object-) \n[Enum.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#finalize--) \n[Enum.getDeclaringClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#getDeclaringClass--) \n[Enum.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#hashCode--) \n[Enum.name()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#name--) \n[Enum.ordinal()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#ordinal--) \n[Enum.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#toString--) \n[Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) \n[Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) \n[Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) \n[Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) \n[Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) \n[Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)"]]