aUser, Catatumbo was
expecting setAUser and getAuser methods, while the IDEs generate
setaUser and getaUser. This fix makes Catatumbo to be compliant with
IDEs and JavaBeans standards.
See Issue #96
for more details.
SecondaryIndex - specifies if a secondary index should be created for an entity's field. PropertyIndexer - This optional annotation allows specifying which indexer implementation is to be used for creating the secondary index. getGneratedKeys) in DatastoreBatch.Response and DatastoreTransaction.Response interfaces. Created new method, getGeneratedKeys with the correct spelling. java.time.LocalDate from Java 8), as long as there is a registered mapper to handle the data type. DatastoreAccess#update methods may not reflect the changes that the property mappers might have made. @Exploded and @Imploded, to specify the storage strategy for embedded objects. These annotations can be applied to an embedded object of an Entity. With Exploded strategy, which is the default, all primitive fields of the embedded object are stored as individual properties in the Cloud Datastore. On the contrary, with the Imploded strategy, the embedded object is stored as a single property in the Cloud Datastore. @Decimal, was introduced to support this feature. Using this annotation, the precision and scale are pre-defined on the entity fields. Catatumbo maps these BigDecimal types to Integer properties while transparently managing the data conversion. @PropertyMapper, was introduced. Using this annotation, developers can specify the name of the class that implements the Mapper interface. MapperFactory exposes a method to set/override the default mappers. EntityManagerFactory to create EntityManager for Local Datastore. Enum types. Entities, MappedSuperClasses and Embeddables can now define properties with an Enum type and Catatumbo takes care of mapping and persistence. Enum types are stored into the Datastore as String that is same as the name of the Enum constant. java.util.Map and its implementations. Maps are stored as Embedded Entity in the Google Cloud Datastore. Keys in the Maps are expected to be of type String. Values in the Map can be of the following types:
java.util.Set and its implementations. Sets are stored as Array properties in the Google Cloud Datastore. Sets may contain the following types of items:
java.util.List. The framework now supports List and any of its implementations. MappedSuperClass MappedSuperClass.MappedSuperClass can extend another MappedSuperClass. MappedSuperClass can have fields of primitive type and/or Embedded objects PropertyOverrides and PropertyOverride annotations. Version
EntityManager ensures that the version of the entity being updated matches with the version of the entity in the Cloud Datastore. The update will succeed if the versions match, otherwise an exception will be thrown. Version property is automatically incremented during each update. Embeddable and Embedded, were introduced to support this feature. PropertyOverrides and PropertyOverride to override the properties defined in the Embeddable where needed. QueryRequest interfaces/classes to support literals in the query.