Behind each object persisted to and loaded from Baqend there is a schema which describes the structure of its
instances. It specifies which attributes of an object will be tracked and saved (e.g. Todo.name), their types (e.g.
String) and optionally constraints (e.g. not null).
The types that Baqend supports can be classified in five categories.
- Entities: are the objects themselves, i.e. instances conforming to the schema.
- References: are references (i.e. links, foreign keys) to other entities.
- Embeddables: are objects that are embedded within other objects (i.e. value objects).
- Primitives: are native types like String, Numbers, Dates and JSON.
- Collections: are lists, sets and maps containing any of the previous data types.