Hello all I would like to share with you the release of *Achilles 3.0.1 *( https://github.com/doanduyhai/Achilles/<https://github.com/doanduyhai/Achilles/wiki> ).
With this release *Achilles* will support all new features from *Cassandra 2.0* For those who don't know, Achilles is a Java object mapper for Cassandra built on top of the *Java driver 2.0.0* plus a lot of utilities and tools to make you more productive while using Cassandra in Java. Main features are: *Object mapping*: *Achilles* let you map anything possible with CQL3: *compound primary key, composite partition key*, support for Enum & TimeUUID, *secondary index*, *reverse clustering order* ... in a sensible manner. Collections & maps are mapped directly into CQL3 data types. *Persistence API*: the API exposes common *find()*, *persist(), update()*and *remove()* methods. There is also a dirty check mechanism to avoid updating unmodified columns *Queries*: *Achilles* exposes 3 distinct APIs. *Slice queries* allow you to work on clustered tables (wide rows). *Typed queries* let you manually craft the CQL3 statement and map the result back into entity, saving you the boilerplate data mapping code. *Native queries* let you write CQL3 statement directly and return each row as a Map<column,value> *Counters*: counters are supported natively by Achilles. You can define counter values in your entities, Achilles will map them in a dedicated table for you. *Consistency, TTL & timestamp*: those parameters can be set at runtime as options passing to the persistence API *Batch mode*: batch mutations rely on atomic batch features of CQL3. *Achilles* extends the batch feature to support *statements ordering* *Interceptors*: it is possible to apply functional check and behaviors upon entity life cycle (PERSIST, UPDATE, DELETE, LOAD) with interceptors *Bean Validation (JSR-303)*: it is possible to apply validation on entities before persisting or updating them. *Unit testing*: a JUnit *@Rule* is provided to start an embedded Cassandra server and bootstrap *Achilles*. You specify in each rule the tables to be truncated between each test *Statement logging*: one cool feature is the display of all CQL3 statements generated at runtime by the framework in a dedicated logger. It makes debugging a piece of cake. Schema creation script are also generated for you based on entity mapping. What else ? *Spring integration*: a FactoryBean is provided to bootstrap *Achilles*quickly with core parameters. A Java config sample is also provided for those who don't like XML style. *Advanced tutorial*: a working Twitter-like application (*Jetty backend + HTML5 frontend*) is provided as a real life demo for Achilles. If you are Java developer, I invite you to have a look at the project, it may help you to get rid of boiler plate code related to data mapping and let you concentrate on data modeling which is much more important. Should you have any question, issue, bug found or feedback, please do not hesitate to come back to me or drop a message on the *Achilles* mailing list. Regards Duy Hai DOAN