xamry edited this page Jul 11, 2013 · 3 revisions
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:

Kundera Architecture