A precommit token is included in the response of a BeginTransaction
request if the read-write transaction is on a multiplexed session and
a mutation_key was specified in the
BeginTransaction.
The precommit token with the highest sequence number from this transaction
attempt should be passed to the Commit
request for this transaction.
A precommit token is included in the response of a BeginTransaction
request if the read-write transaction is on a multiplexed session and
a mutation_key was specified in the
BeginTransaction.
The precommit token with the highest sequence number from this transaction
attempt should be passed to the Commit
request for this transaction.
For snapshot read-only transactions, the read timestamp chosen
for the transaction. Not returned by default: see
TransactionOptions.ReadOnly.return_read_timestamp.
A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
Example: "2014-10-02T15:01:23.045123456Z".
For snapshot read-only transactions, the read timestamp chosen
for the transaction. Not returned by default: see
TransactionOptions.ReadOnly.return_read_timestamp.
A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
Example: "2014-10-02T15:01:23.045123456Z".
A precommit token is included in the response of a BeginTransaction
request if the read-write transaction is on a multiplexed session and
a mutation_key was specified in the
BeginTransaction.
The precommit token with the highest sequence number from this transaction
attempt should be passed to the Commit
request for this transaction.
For snapshot read-only transactions, the read timestamp chosen
for the transaction. Not returned by default: see
TransactionOptions.ReadOnly.return_read_timestamp.
A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
Example: "2014-10-02T15:01:23.045123456Z".
[[["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-09-04 UTC."],[],[],null,["# Interface TransactionOrBuilder (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.TransactionOrBuilder)\n- [6.98.0](/java/docs/reference/google-cloud-spanner/6.98.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.97.1](/java/docs/reference/google-cloud-spanner/6.97.1/com.google.spanner.v1.TransactionOrBuilder)\n- [6.96.1](/java/docs/reference/google-cloud-spanner/6.96.1/com.google.spanner.v1.TransactionOrBuilder)\n- [6.95.1](/java/docs/reference/google-cloud-spanner/6.95.1/com.google.spanner.v1.TransactionOrBuilder)\n- [6.94.0](/java/docs/reference/google-cloud-spanner/6.94.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.93.0](/java/docs/reference/google-cloud-spanner/6.93.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.89.0](/java/docs/reference/google-cloud-spanner/6.89.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.88.0](/java/docs/reference/google-cloud-spanner/6.88.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.87.0](/java/docs/reference/google-cloud-spanner/6.87.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.86.0](/java/docs/reference/google-cloud-spanner/6.86.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.85.0](/java/docs/reference/google-cloud-spanner/6.85.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.83.0](/java/docs/reference/google-cloud-spanner/6.83.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.82.0](/java/docs/reference/google-cloud-spanner/6.82.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.80.1](/java/docs/reference/google-cloud-spanner/6.80.1/com.google.spanner.v1.TransactionOrBuilder)\n- [6.79.0](/java/docs/reference/google-cloud-spanner/6.79.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.77.0](/java/docs/reference/google-cloud-spanner/6.77.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.74.1](/java/docs/reference/google-cloud-spanner/6.74.1/com.google.spanner.v1.TransactionOrBuilder)\n- [6.72.0](/java/docs/reference/google-cloud-spanner/6.72.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.71.0](/java/docs/reference/google-cloud-spanner/6.71.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.69.0](/java/docs/reference/google-cloud-spanner/6.69.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.68.0](/java/docs/reference/google-cloud-spanner/6.68.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.66.0](/java/docs/reference/google-cloud-spanner/6.66.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.65.1](/java/docs/reference/google-cloud-spanner/6.65.1/com.google.spanner.v1.TransactionOrBuilder)\n- [6.62.0](/java/docs/reference/google-cloud-spanner/6.62.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.60.0](/java/docs/reference/google-cloud-spanner/6.60.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.58.0](/java/docs/reference/google-cloud-spanner/6.58.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.57.0](/java/docs/reference/google-cloud-spanner/6.57.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.56.0](/java/docs/reference/google-cloud-spanner/6.56.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.55.0](/java/docs/reference/google-cloud-spanner/6.55.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.54.0](/java/docs/reference/google-cloud-spanner/6.54.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.53.0](/java/docs/reference/google-cloud-spanner/6.53.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.52.1](/java/docs/reference/google-cloud-spanner/6.52.1/com.google.spanner.v1.TransactionOrBuilder)\n- [6.51.0](/java/docs/reference/google-cloud-spanner/6.51.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.50.1](/java/docs/reference/google-cloud-spanner/6.50.1/com.google.spanner.v1.TransactionOrBuilder)\n- [6.49.0](/java/docs/reference/google-cloud-spanner/6.49.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.25.1](/java/docs/reference/google-cloud-spanner/6.25.1/com.google.spanner.v1.TransactionOrBuilder)\n- [6.24.0](/java/docs/reference/google-cloud-spanner/6.24.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.23.4](/java/docs/reference/google-cloud-spanner/6.23.4/com.google.spanner.v1.TransactionOrBuilder)\n- [6.22.0](/java/docs/reference/google-cloud-spanner/6.22.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.21.2](/java/docs/reference/google-cloud-spanner/6.21.2/com.google.spanner.v1.TransactionOrBuilder)\n- [6.20.0](/java/docs/reference/google-cloud-spanner/6.20.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.19.1](/java/docs/reference/google-cloud-spanner/6.19.1/com.google.spanner.v1.TransactionOrBuilder)\n- [6.18.0](/java/docs/reference/google-cloud-spanner/6.18.0/com.google.spanner.v1.TransactionOrBuilder)\n- [6.17.4](/java/docs/reference/google-cloud-spanner/6.17.4/com.google.spanner.v1.TransactionOrBuilder)\n- [6.14.1](/java/docs/reference/google-cloud-spanner/6.14.1/com.google.spanner.v1.TransactionOrBuilder) \n\n public interface TransactionOrBuilder extends MessageOrBuilder\n\nImplements\n----------\n\n[MessageOrBuilder](https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.MessageOrBuilder.html)\n\nMethods\n-------\n\n### getId()\n\n public abstract ByteString getId()\n\n`id` may be used to identify the transaction in subsequent\nRead,\nExecuteSql,\nCommit, or\nRollback calls.\n\nSingle-use read-only transactions do not have IDs, because\nsingle-use transactions do not support multiple requests.\n\n`bytes id = 1;`\n\n### getPrecommitToken()\n\n public abstract MultiplexedSessionPrecommitToken getPrecommitToken()\n\nA precommit token is included in the response of a BeginTransaction\nrequest if the read-write transaction is on a multiplexed session and\na mutation_key was specified in the\nBeginTransaction.\nThe precommit token with the highest sequence number from this transaction\nattempt should be passed to the Commit\nrequest for this transaction.\n\n`.google.spanner.v1.MultiplexedSessionPrecommitToken precommit_token = 3;`\n\n### getPrecommitTokenOrBuilder()\n\n public abstract MultiplexedSessionPrecommitTokenOrBuilder getPrecommitTokenOrBuilder()\n\nA precommit token is included in the response of a BeginTransaction\nrequest if the read-write transaction is on a multiplexed session and\na mutation_key was specified in the\nBeginTransaction.\nThe precommit token with the highest sequence number from this transaction\nattempt should be passed to the Commit\nrequest for this transaction.\n\n`.google.spanner.v1.MultiplexedSessionPrecommitToken precommit_token = 3;`\n\n### getReadTimestamp()\n\n public abstract Timestamp getReadTimestamp()\n\nFor snapshot read-only transactions, the read timestamp chosen\nfor the transaction. Not returned by default: see\nTransactionOptions.ReadOnly.return_read_timestamp.\n\nA timestamp in RFC3339 UTC \\\\\"Zulu\\\\\" format, accurate to nanoseconds.\nExample: `\"2014-10-02T15:01:23.045123456Z\"`.\n\n`.google.protobuf.Timestamp read_timestamp = 2;`\n\n### getReadTimestampOrBuilder()\n\n public abstract TimestampOrBuilder getReadTimestampOrBuilder()\n\nFor snapshot read-only transactions, the read timestamp chosen\nfor the transaction. Not returned by default: see\nTransactionOptions.ReadOnly.return_read_timestamp.\n\nA timestamp in RFC3339 UTC \\\\\"Zulu\\\\\" format, accurate to nanoseconds.\nExample: `\"2014-10-02T15:01:23.045123456Z\"`.\n\n`.google.protobuf.Timestamp read_timestamp = 2;`\n\n### hasPrecommitToken()\n\n public abstract boolean hasPrecommitToken()\n\nA precommit token is included in the response of a BeginTransaction\nrequest if the read-write transaction is on a multiplexed session and\na mutation_key was specified in the\nBeginTransaction.\nThe precommit token with the highest sequence number from this transaction\nattempt should be passed to the Commit\nrequest for this transaction.\n\n`.google.spanner.v1.MultiplexedSessionPrecommitToken precommit_token = 3;`\n\n### hasReadTimestamp()\n\n public abstract boolean hasReadTimestamp()\n\nFor snapshot read-only transactions, the read timestamp chosen\nfor the transaction. Not returned by default: see\nTransactionOptions.ReadOnly.return_read_timestamp.\n\nA timestamp in RFC3339 UTC \\\\\"Zulu\\\\\" format, accurate to nanoseconds.\nExample: `\"2014-10-02T15:01:23.045123456Z\"`.\n\n`.google.protobuf.Timestamp read_timestamp = 2;`"]]