cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sanjay Sharma <>
Subject kundera: Open source JPA 1.0 compliant ORM for Cassandra
Date Sat, 31 Jul 2010 13:54:47 GMT
Hi All,
We are happy to announce and share a new ORM over Cassandra - kundera
The project is Apache licensed and hosted at

The project uses custom Cassandra Annotations and is fully JPA 1.0 compliant. @ColumnFamily
and @SuperColumnFamily are the main Cassandra specific annotations.

Search/Indexing is automatically included by using "Lucandra" and drives the JPA-QL query
support. Use of Lucandra also enables users to write Lucene queries along with JPA-QL queries.

As per the main author of kundera - Animesh -" The idea behind Kundera is to make working
with Cassandra drop-dead 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 help developers do away with unnecessary boiler plate codes, and program
a neater-and-cleaner code that reduces code-complexity and improves quality. And above all,
improves productivity."

The current implementation uses the versatile "Pelops" library as the underlying client API
and plans are to add support for Hector and Thrift clients as well.

Here is a sample kundera Entity bean -
@ColumnFamily(keyspace = "Keyspace1", family = "SimpleComment")
public class SimpleComment {
    private String id;
    @Column(name = "userId")
    private String userId;
    @Column(name = "comment")
    private String commentText;

JPA queries are as simple as-

        Query query = entityManager.createQuery("SELECT c from SimpleComment c where userId='me'");

        List<SimpleComment> list = query.getResultList();

There is already support for Spring based persistence integration like the good old Spring+Hibernate
integration and is as simple as this-
    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="persistenceUnitName" value="myPersistenceUnit"/>
More examples are available in kundera's wiki<>
and Animesh's blog<>s.
The spring integration example is here<>

Sanjay Sharma
iLabs, Impetus

Impetus is sponsoring 'Hadoop India User Group Meet Up'- a technology un-conference on July
31, 2010 at Impetus Office, Noida. The event will shed light on Hadoop technology and channelized
efforts to develop an active Hadoop community.

Click to know more. Follow our updates on

NOTE: This message may contain information that is confidential, proprietary, privileged or
otherwise protected by law. The message is intended solely for the named addressee. If received
in error, please destroy and notify the sender. Any use of this email is prohibited when received
in error. Impetus does not represent, warrant and/or guarantee, that the integrity of this
communication has been maintained nor that the communication is free of errors, virus, interception
or interference.

View raw message