Cayenne is a powerful Java Object Relational Mapping framework. It’s open source and completely free. One of the main Cayenne distinctions is that it comes with cross-platform modeling GUI tools. This places Cayenne in the league of its own, making it a very attractive choice over both closed source commerical products and traditional “edit your own XML” open source solutions.
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.
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.
A partial list of Cayenne features includes:
- “Lazy” relationships and incremental fetching of data.
- Object queries, including in-memory sorting and filtering of objects with Cayenne expression language.
- Isolation of object graph changes between user sessions.
- Committing all created, modified or deleted objects with a single method call.
- Distributed cache.
- Automatic ordering of DML operations to satisfy database integrity constraints.
- Combining multiple physical data sources into a single virtual data source.
- Database independence with adapters for all major databases.
- Multiple strategies for automated primary key generation.
- … and many more
Enjoy using Cayenne framework for your enterprise solution. Have Fun !!