Object Relational Mapping, Persistence and Caching for Java

Apache Cayenne is an open source persistence framework licensed under the Apache License, providing object-relational mapping (ORM) and remoting services. With a wealth of unique and powerful features, Cayenne can address a wide range of persistence needs. Cayenne seamlessly binds one or more database schemas directly to Java objects, managing atomic commit and rollbacks, SQL generation, joins, sequences, and more. With Cayenne's Remote Object Persistence, those Java objects can even be persisted out to clients via Web Services. Or, with native XML serialization, objects can be even further persisted to non-Java clients - such as an Ajax-capable browser.

Cayenne is designed to be easy to use, without sacrificing flexibility or design. To that end, Cayenne supports database reverse engineering and generation, as well as a Velocity-based class generation engine. All of these functions can be controlled directly through the CayenneModeler, a fully functional GUI tool. No cryptic XML or annotation based configuration is required! An entire database schema can be mapped directly to Java objects within minutes, all from the comfort of the GUI-based CayenneModeler.

Cayenne supports numerous other features, including caching, a complete object query syntax, relationship pre-fetching, on-demand object and relationship faulting, object inheritance, database auto-detection, and generic persisted objects. Most importantly, Cayenne can scale up or down to virtually any project size. With a mature, 100% open source framework, an energetic user community, and a track record of solid performance in high-volume environments, Cayenne is an exceptional choice for persistence services.

News

Last changed May 06, 2010 10:43 by Ari Maniatis
Labels: cayenne, 3

The Cayenne team are thrilled to announce the availability of Cayenne 3.0. Over the last few years a vast number of improvements have gone into Cayenne 3, and this release is already in use in large corporate installations, universities and other businesses driving web sites and other software.

This upgrade is recommended for all users of Cayenne. An overview of the major changes in 3.0 is available: http://cayenne.apache.org/doc30/guide-to-30-features. …

Read more…

Posted at May 06, 2010 by Ari Maniatis | 0 comments | Edit
Last changed Apr 05, 2010 16:55 by Andrus Adamchik

Cayenne 3.0 Release Candidate 3 is available for download now. It contains 14 bug fixes, and has a good chance of becoming the last RC before 3.0-final. We encourage our users to give RC3 a try and provide us with feedback of any possible issues.

http://cayenne.apache.org/download.html

Posted at Apr 05, 2010 by Andrus Adamchik | 0 comments | Edit
Last changed Feb 05, 2010 11:51 by Ari Maniatis

We are very pleased to release 3.0 RC2. Another significant step along the way toward the final 3.0 release. A few (most minor) bugs have been fixed:

https://issues.apache.org/jira/browse/CAY/fixforversion/12314495

Anyone using Cayenne 3 is recommended to upgrade to this release. Users of Cayenne 2.x and earlier are recommended to upgrade their development environments and perform testing to ensure your application can be upgraded smoothly.

http://cayenne.apache.org/download.html

Posted at Feb 05, 2010 by Ari Maniatis | 0 comments | Edit
Last changed Jan 06, 2010 01:56 by Ari Maniatis

Cayenne 3.0 Release Candidate 1 has arrived. We are well on the track for a final release very soon now. In fact there are no known issues at all which haven't been already fixed for the upcoming next release candidate.

A few fixes have been made between beta 1 and RC1 and you can see them here:

https://issues.apache.org/jira/browse/CAY/fixforversion/12314338

It is currently expected that RC2 will be the final release for Cayenne 3, unless something unexpected turns up. …

Read more…

Posted at Jan 06, 2010 by Ari Maniatis | 0 comments | Edit

Cayenne Modeler

Cayenne is distributed with CayenneModeler - a complete GUI mapping tool that supports reverse-engineering of RDBMS schemas, working with database mappings and generation of Java source code for the persistent objects.

Persistent Java classes are generated and synchronized with the mapping using the Modeler or alternatively with an Ant task. A database SQL schema can be generated from the Modeler and also with simple API calls.