Apache Cayenne
   HOME

TheInfoList



OR:

Apache Cayenne is an open source
persistence framework A persistence framework is middleware that assists in the storage and retrieval of information between applications and databases, especially relational databases. It acts as a layer of abstraction for persisted data, bridging conceptual and techni ...
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 Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
serialization, objects can be further persisted to non-Java clients—such as an Ajax-capable browser. Cayenne supports database
reverse engineering Reverse engineering (also known as backwards engineering or back engineering) is a process or method through which one attempts to understand through deductive reasoning how a previously made device, process, system, or piece of software accompli ...
and generation, as well as a
Velocity Velocity is the directional speed of an object in motion as an indication of its rate of change in position as observed from a particular frame of reference and as measured by a particular standard of time (e.g. northbound). Velocity is a ...
-based class generation engine. All of these functions can be controlled directly through the CayenneModeler, a fully functional
GUI The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
tool. No
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
- 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 The Apache Software Foundation (ASF) is an American nonprofit corporation (classified as a 501(c)(3) organization in the United States) to support a number of open source software projects. The ASF was formed from a group of developers of the A ...
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.Software Development Times
/ref>


See also

*
Apache OpenJPA OpenJPA is an open source implementation of the Java Persistence API specification. It is an object-relational mapping (ORM) solution for the Java language, which simplifies storing objects in databases. It is open-source software distributed un ...


References


External links

*
ObjectstyleCayenne article on theserverside
{{Apache Software Foundation
Cayenne Cayenne (; ; gcr, Kayenn) is the capital city of French Guiana, an overseas region and Overseas department, department of France located in South America. The city stands on a former island at the mouth of the Cayenne River on the Atlantic Oc ...
Java (programming language) libraries Object–relational mapping