public class SpannerTemplate extends Object implements SpannerOperations
| Constructor and Description |
|---|
SpannerTemplate(com.google.cloud.spanner.DatabaseClient databaseClient,
SpannerMappingContext mappingContext,
SpannerEntityProcessor spannerEntityProcessor,
SpannerMutationFactory spannerMutationFactory) |
| Modifier and Type | Method and Description |
|---|---|
protected <T,U> void |
applyMutationTwoArgs(BiFunction<T,U,com.google.cloud.spanner.Mutation> function,
T arg1,
U arg2) |
<T> String |
applySortingPagingQueryOptions(Class<T> entityClass,
SpannerQueryOptions options,
String sql) |
long |
count(Class entityClass)
Count how many objects are stored of the given type.
|
<T> void |
delete(Class<T> entityClass,
Iterable<? extends T> entities)
Deletes multiple objects from storage.
|
void |
delete(Class entityClass,
com.google.cloud.spanner.Key key)
Deletes an object based on a key.
|
void |
delete(Class entityClass,
com.google.cloud.spanner.KeySet keys)
Deletes objects given a set of keys.
|
void |
delete(Object entity)
Deletes an object from storage.
|
com.google.cloud.spanner.ResultSet |
executeQuery(com.google.cloud.spanner.Statement statement,
SpannerQueryOptions options) |
SpannerMappingContext |
getMappingContext() |
protected com.google.cloud.spanner.ReadContext |
getReadContext() |
protected com.google.cloud.spanner.ReadContext |
getReadContext(com.google.cloud.Timestamp timestamp) |
SpannerEntityProcessor |
getSpannerEntityProcessor() |
void |
insert(Object object)
Insert an object into storage.
|
<T> T |
performReadOnlyTransaction(Function<SpannerTemplate,T> operations,
SpannerReadOptions readOptions)
Performs multiple read-only operations in a single transaction.
|
<T> T |
performReadWriteTransaction(Function<SpannerTemplate,T> operations)
Performs multiple read and write operations in a single transaction.
|
<T> List<T> |
query(Class<T> entityClass,
com.google.cloud.spanner.Statement statement)
Finds objects by using an SQL statement.
|
<T> List<T> |
query(Class<T> entityClass,
String sql,
List<String> tags,
Object[] params,
SpannerQueryOptions options)
Finds objects by using an SQL statement.
|
<T> List<T> |
queryAll(Class<T> entityClass,
SpannerQueryOptions options)
Finds all objects of the given type.
|
<T> T |
read(Class<T> entityClass,
com.google.cloud.spanner.Key key)
Finds a single stored object using a key.
|
<T> List<T> |
read(Class<T> entityClass,
com.google.cloud.spanner.KeySet keys)
Finds objects stored from their keys.
|
<T> List<T> |
read(Class<T> entityClass,
com.google.cloud.spanner.KeySet keys,
SpannerReadOptions options)
Finds objects stored from their keys.
|
<T> T |
read(Class<T> entityClass,
com.google.cloud.spanner.Key key,
SpannerReadOptions options)
Finds a single stored object using a key.
|
<T> List<T> |
readAll(Class<T> entityClass)
Finds all objects of the given type.
|
<T> List<T> |
readAll(Class<T> entityClass,
SpannerReadOptions options)
Finds all objects of the given type.
|
void |
update(Object object)
Update an object already in storage.
|
void |
update(Object object,
Optional<Set<String>> includeColumns)
Update an object in storage.
|
void |
update(Object object,
String... includeColumns)
Update an object in storage.
|
void |
upsert(Object object)
Update or insert an object into storage.
|
void |
upsert(Object object,
Optional<Set<String>> includeColumns)
Update or insert an object into storage.
|
void |
upsert(Object object,
String... includeColumns)
Update or insert an object into storage.
|
public SpannerTemplate(com.google.cloud.spanner.DatabaseClient databaseClient,
SpannerMappingContext mappingContext,
SpannerEntityProcessor spannerEntityProcessor,
SpannerMutationFactory spannerMutationFactory)
protected com.google.cloud.spanner.ReadContext getReadContext()
protected com.google.cloud.spanner.ReadContext getReadContext(com.google.cloud.Timestamp timestamp)
public SpannerMappingContext getMappingContext()
public SpannerEntityProcessor getSpannerEntityProcessor()
public <T> T read(Class<T> entityClass, com.google.cloud.spanner.Key key)
SpannerOperationsread in interface SpannerOperationsT - the type of the object to retrieve.entityClass - the type of the object to retrieve.key - the key of the object.public <T> T read(Class<T> entityClass, com.google.cloud.spanner.Key key, SpannerReadOptions options)
SpannerOperationsread in interface SpannerOperationsT - the type of the object to retrieve.entityClass - the type of the object to retrieve.key - the key of the object.options - Spanner read options with which to conduct the read operation.public <T> List<T> read(Class<T> entityClass, com.google.cloud.spanner.KeySet keys)
SpannerOperationsread in interface SpannerOperationsT - the type of the object to retrieve.entityClass - the type of the object to retrieve.keys - the keys of the objects to retrieve.public <T> List<T> read(Class<T> entityClass, com.google.cloud.spanner.KeySet keys, SpannerReadOptions options)
SpannerOperationsread in interface SpannerOperationsT - the type of the object to retrieve.entityClass - the type of the object to retrieve.keys - the keys of the objects to retrieve.options - Spanner read options with which to conduct the read operation.public <T> List<T> query(Class<T> entityClass, String sql, List<String> tags, Object[] params, SpannerQueryOptions options)
SpannerOperationsquery in interface SpannerOperationsT - the type of object to retrieve.entityClass - the type of object to retrieve.sql - the SQL string to execute. this string can have Spanner param tags.tags - the names of the tags to useparams - the values to attach those tags, in the same order.options - Spanner read options with which to conduct the read operation.public <T> List<T> query(Class<T> entityClass, com.google.cloud.spanner.Statement statement)
SpannerOperationsquery in interface SpannerOperationsT - the type of object to retrieve.entityClass - the type of object to retrieve.statement - the SQL statement used to select the objects.public <T> List<T> readAll(Class<T> entityClass, SpannerReadOptions options)
SpannerOperationsreadAll in interface SpannerOperationsT - the type of the object to retrieve.entityClass - the type of the object to retrieve.options - Spanner read options with which to conduct the read operation.public <T> List<T> readAll(Class<T> entityClass)
SpannerOperationsreadAll in interface SpannerOperationsT - the type of the object to retrieve.entityClass - the type of the object to retrieve.public <T> List<T> queryAll(Class<T> entityClass, SpannerQueryOptions options)
SpannerOperationsqueryAll in interface SpannerOperationsT - the type of the object to retrieve.entityClass - the type of the object to retrieve.options - Spanner query options with which to conduct the query operation.public <T> String applySortingPagingQueryOptions(Class<T> entityClass, SpannerQueryOptions options, String sql)
public void insert(Object object)
SpannerOperationsinsert in interface SpannerOperationsobject - the object to insert.public void update(Object object)
SpannerOperationsupdate in interface SpannerOperationsobject - the object to update.public void update(Object object, String... includeColumns)
SpannerOperationsupdate in interface SpannerOperationsobject - the object to update.includeColumns - the columns to upsert. if none are given then all columns are
usedpublic void update(Object object, Optional<Set<String>> includeColumns)
SpannerOperationsupdate in interface SpannerOperationsobject - the object to update.includeColumns - the columns to update. If null or an empty Optional is given, then
all columns are used. Note that an Optional occupied by an empty Set means that no columns
will be used.public void upsert(Object object)
SpannerOperationsupsert in interface SpannerOperationsobject - the object to update or insert.public void upsert(Object object, String... includeColumns)
SpannerOperationsupsert in interface SpannerOperationsobject - the object to update or insert.includeColumns - the columns to upsert. if none are given then all columns are
upserted.public void upsert(Object object, Optional<Set<String>> includeColumns)
SpannerOperationsupsert in interface SpannerOperationsobject - the object to update or insert.includeColumns - the columns to upsert. If null or an empty Optional is given, then
all columns are used. Note that an Optional occupied by an empty Set means that no columns
will be used.public void delete(Object entity)
SpannerOperationsdelete in interface SpannerOperationsentity - the object to delete from storage.public void delete(Class entityClass, com.google.cloud.spanner.Key key)
SpannerOperationsdelete in interface SpannerOperationsentityClass - the type of the object to delete.key - the key of the object to delete from storage.public <T> void delete(Class<T> entityClass, Iterable<? extends T> entities)
SpannerOperationsdelete in interface SpannerOperationsT - the type of the object to delete.entityClass - the type of the object to delete.entities - the objects to delete.public void delete(Class entityClass, com.google.cloud.spanner.KeySet keys)
SpannerOperationsdelete in interface SpannerOperationsentityClass - the type of object to delete.keys - the keys of the objects to delete.public long count(Class entityClass)
SpannerOperationscount in interface SpannerOperationsentityClass - the type of object to count.public <T> T performReadWriteTransaction(Function<SpannerTemplate,T> operations)
SpannerOperationsperformReadWriteTransaction in interface SpannerOperationsT - the final return type of the operations.operations - the function representing the operations to perform using a
SpannerOperations based on a single transaction.public <T> T performReadOnlyTransaction(Function<SpannerTemplate,T> operations, SpannerReadOptions readOptions)
SpannerOperationsperformReadOnlyTransaction in interface SpannerOperationsT - the final return type of the operations.operations - the function representing the operations to perform using a
SpannerOperations based on a single transaction.readOptions - allows the user to specify staleness for the read transactionpublic com.google.cloud.spanner.ResultSet executeQuery(com.google.cloud.spanner.Statement statement,
SpannerQueryOptions options)
protected <T,U> void applyMutationTwoArgs(BiFunction<T,U,com.google.cloud.spanner.Mutation> function, T arg1, U arg2)
Copyright © 2018 Pivotal Software, Inc.. All rights reserved.