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.