Clone this wiki locally
At the heart of the Kundera lies kundera-core (or Kundera Kernel) which contains implementations for JPA interfaces. It's also responsible for common core functionalities provided by Kundera. Some of them are:
- Classpath reading and metadata management.
- Parsing configuration file (persistence.xml) and populating metadata.
- Persistence Context management.
- Secondary index management.
- L1 and L2 cache management.
- Query parser.
- Automatic schema generation.
- Annotation processor.
- Transaction Management.
- Utilities among others.
User applications interact with JPA interfaces that are implemented by Kundera persistence provider. On top of kundera-core, we have different modules for different datastores. Each module has its own client. Clients use low level libraries (or drivers) for interacting with underlying datastore.
A graphical representation of Kundera Architecture is shown below: