anchor.diff:  Our Spring Boot autoconfiguration creates the following beans available in the Spring application context:
   
   - an instance of `SpannerTemplate`
  -- an instance of all user defined repositories extending `CrudRepository` or `PagingAndSortingRepository`, when repositories are enabled
  +- an instance of `SpannerDatabaseAdminTemplate` for generating table schemas from object hierarchies and creating and deleting tables and databases
  +- an instance of all user-defined repositories extending `SpannerRepository`, `CrudRepository`, `PagingAndSortingRepository`, when repositories are enabled
   - an instance of `DatabaseClient` from the Google Cloud Java Client for Spanner, for convenience and lower level API access
   
   
  
positive.code: root level: `SELECT ARRAY(SELECT STRUCT(1 as val1, 2 as val2)) as pair FROM Users`.
  
  Spring Data Cloud Spanner will attempt to read the column STRUCT values into a property that is an `Iterable` of an entity type compatible with the schema of the column STRUCT value.
  For example, the following property can be mapped with the constructed `ARRAY<STRUCT>` column: `List<TwoInts> pair;` where the `TwoInts` type is defined:
  
  [source, java]
  ----
  
negative.code: All accessible properties on POJOs are automatically recognized as a Cloud Spanner column.
  Column naming is generated by the `PropertyNameFieldNamingStrategy` by default defined on the `SpannerMappingContext` bean.
  The `@Column` annotation optionally provides a different column name than that of the property and some other settings:
  
  - `name` is the optional name of the column
  - `spannerTypeMaxLength` specifies for `STRING` and `BYTES` columns the maximum length. This setting is only used when generating DDL schema statements based on domain types.
  - `nullable` specifies if the column is created as `NOT NULL`. This setting is only used when generating DDL schema statements based on domain types.
  