Catatumbo is an Open Source Object Mapping and Persistence framework for
Google Cloud Datastore.
allows to effortlessly save model objects to the Cloud Datastore as well as retrieve and map
the data from the
Cloud Datastore to model objects. Catatumbo is similar to JPA (Java Persistence API), but is
to work with Google Cloud Datastore instead of Relational Databases.
Catatumbo framework is built on top of
Google Cloud Java Client for Datastore API
(formerly known as gcloud-java-datasource API).
The framework provides a handful of annotations to make your model classes manageable by the
Automatic mapping of model classes (POJOs) to Cloud Datastore Entities and vice versa
Automatic generation of Identifiers (for both Numeric and String types)
Ignore specific fields of your model object from persistence operations
Support for a variety of Data Types -
Geo Location (a.k.a Geo Point)
Keys, Parent Keys and Key References
Ability to annotate which fields are indexed/not indexed
Support for secondary indexes to index a property for case-insensitive
Support for embedded objects (e.g. Address object inside Customer model). Embedded
objects can be stored in exploded (each field of embedded object is a separate property)
form or imploded (the embedded object is stored in a single field)form.
Support for persisting inherited fields
Support for entity listeners which allow your application to react to certain
Support for Optimistic Locking using automatic entity versioning scheme
Automatic timestamping of entities using @CreatedTimestamp and @UpdatedTimestamp
Support for multi-tenancy - allows working with multiple Namespaces in the Cloud Datastore.
Ability to override default mappers for a given data type
Ability to define a custom mapper on a per-field basis
Create, Retrieve, Update, Delete, Upsert (update or insert)
Execute GQL Queries
Support for Batch Writes
Metadata API for retrieving the Datastore metadata
Ability to work with Local Datastore (a.k.a. Datastore Emulator)