Apache Cayenne
Apache Cayenne is an open source persistence framework licensed under the Apache License, providing object-relational mapping (ORM) and remoting services. Cayenne 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 further persisted to non-Java clients—such as an Ajax-capable browser. 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 XML- or annotation-based configuration is required. An entire database schema can be mapped directly to Java objects quickly, all from the comfort of the GUI-based CayenneModeler. These things together make Cayenne interesting for a user who is new to the enterprise world. Cayenne supports 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. History. Cayenne started as a project run by ObjectStyle and led by Andrus Adamchik. It was released under the Apache license from its first release in July 2002. In early 2006 the project moved from Objectstyle to the Apache Software Foundation and in December 2006 was promoted to be a top level project of Apache. Notable milestones in Cayenne's history include the release of Apache Cayenne 3.0 in May 2010 and the release of Apache Cayenne 3.1 in the fall of 2014.