Welcome to Kundera wiki!
Kundera is a JPA 2.1 compliant object-datastore mapping library for NoSQL datastores. Kundera makes working with NoSQL databases simple and fun. Kundera does not reinvent the wheel by making another client library; rather it leverages the existing libraries, and builds – on top of them – a wrap-around API to developers do away with the unnecessary boiler plate codes, and program a neater, cleaner code that reduces code-complexity and improves quality. And above all, improves productivity.
Kundera supports cross-datastore persistence. This means you can store and fetch related entities in different datastores using a single method call.
Kundera manages transactions beautifully and supports both EntityTransaction and Java Transaction API (JTA).
Kundera is JPA 2.1 compatible. It strictly uses JPA annotations to map your objects into your datastore tables(Did I say table? Huh! looks like a relational database term. well, we prefer this as a general name since different NoSQL datastores use different naming - Column family for Cassandra, Table for HBase and collections for MongoDB)
There are some basic rules that you need to keep in mind while working with annotations in Kundera.