Apache Cayenne Website > Index

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 16, 2007 02:23 by Andrus Adamchik

Cayenne team is glad to announce a new release of Cayenne 2.0 and 1.2 branches. The new release features a long list of bug fixes and is a recommended upgrade for the current users. As always there is a patch-level compatibility between 1.2.3 and 2.0.3....

Posted at 16 May @ 12:14 AM by Andrus Adamchik | 0 comments

As work continues toward Cayenne 3.0, many new features have already been implemented and tested. Lifecycle callbacks and JPA are two of the most important, still undergoing development. More is left to be done, but some people are using early 3.0 builds in production already....

Posted at 08 Mar @ 7:38 AM by Ari Maniatis | 0 comments

Welcome to the new Cayenne web site. It is the culmination of lots of work from Bruce Martin (graphic design, html and css coding), Andrus Adamchik (chief guidance, server scripting and content writing) and Ari Maniatis (design concept, Confluence wrangling and content). And of course the content written for Cayenne by a number of people over the years.

This design should degrade gracefully on older browsers. It automatically exports from Confluence,...

Posted at 01 Feb @ 4:22 AM by Ari Maniatis | 0 comments
Last changed: Jan 28, 2007 08:27 by Andrus Adamchik

Following the establishment of Cayenne as an official Apache project, we decided it is time to post bugfix releases for both pre-Apache 1.2 and Apache 2.0 stable branches. UPGRADE IS STRONLY RECOMMENDED no matter which branch you use, as some bugs (such as CAY-724) are rather serious. As a reminder, patch-level compatibility between both branches is determined by the last digit in the release version. So 1.2.2 is analoguous to 2.0.2....

Posted at 22 Jan @ 1:29 AM by Ari Maniatis | 0 comments

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.