Persistence
Overview
The architecture of Quinimbus Persistence contains several key components.
Schema definition and entities
The most important part of persistence is the data model definition, the schema. Your application can contain several schemas if required. The schema does not only consist of the data structure but also of meta data for the usage of the data like searchable fields. There is a standalone guide for Schema definition and Entities.
Storages
You need a storage to save your entities. Such storage is most of the time a connection to a database server. A list of supported storage server can be found in Storages, you can also write your own storage as described in Extend Quinimbus Persistence.
Repositories
You can use the storage handle to read and write your entities, but it is far more comfortable to use repository classes. All you have to do is to write your interfaces, all the hard work is automatically done by the Repositories module. A detailed description how to write such repository interfaces can be found in Repositories.
Migrations
If you change your data model it is possible that you need to create migrations, e.g. to fill up new fields for old entities. How to do this easily in Quinimbus you can read in Migrations.
CDI Integration
Most of the times you will use Quinimbus Persistence in some CDI environment like Quarkus. Using the CDI Integration you can simplify your code by an automatic management of the Persistence components.
Integrations
MAGIC
If you want a true domain driven workflow you can let Quinimbus MAGIC even automate the process of creating the repositories out of the data model and the applied metadata.