Apache Cayenne: Difference between revisions

Content deleted Content added
m {{apache}}
Format
 
(118 intermediate revisions by 70 users not shown)
Line 1:
{{Short description|Open-source persistence framework}}
{{ Infobox Softwaresoftware
| name = Apache Cayenne
| logo name = [[Image:Cayenne.gif|263px|Apache Cayenne Logo]]
| logo = [[File:Apache Cayenne logo.svg|Apache Cayenne logo]]
| developer = [[Apache Software Foundation]]
| name logo alt = Apache Cayenne logo
| operating_system = [[Cross-platform]]
| screenshot = CayenneModeler screenshot.png
| genre = [[object-relational mapping]]
| screenshot size = 442px
| license = [[Apache License]]
| caption = Demonstration of the Cayenne Modeler
| website = http://cayenne.apache.org/
| collapsible = yes
| developer = [[Apache Software Foundation]]
| latest release version = {{wikidata|property|reference|edit|Q773142|P348}}
| latest release date = {{wikidata|qualifier|raw|Q773142|P348|P577}}; {{Time ago|{{wikidata|qualifier|raw|Q773142|P348|P577}}}}
| latest preview version =
| latest preview date =
| operating_system operating system = [[Cross-platform]]
| repo = {{URL|https://gitbox.apache.org/repos/asf?p{{=}}cayenne.git|Cayenne Repository}}
| programming language = [[Java (programming language)|Java]]
| genre = [[objectObject-relational mapping]]
| license = [[Apache License 2.0]]
| website = http{{URL|https://cayenne.apache.org/}}
}}
'''Apache Cayenne''' is an open source [[persistence framework]] licensed under the Apache License, providing [[object-relational mapping]] (ORM) and remoting services. 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 - suchclients—such as an Ajax-capable browser.
 
== Background ==
'''Apache Cayenne''' is an open source persistence framework licensed under the Apache License, providing object-relational mapping (ORM) and remoting services. 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 [[Apache Velocity|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 minutesquickly, 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 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.
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.
 
==History==
Cayenne started as a project run by [http://www.objectstyle.org Objectstyle]ObjectStyle and led by Andrus Adamchik. It was released under the Apache license<ref>[http://objectstyle.org/cayenne/lists/cayenne-devel/2002/11/0000.html Apache-style voting through mailing lists]</ref> from its first release in July 2002.<ref>[http://objectstyle.org/cayenne/lists/cayenne-user/2002/06/0000.html JulyCayenne 2002Alpha Release].</ref> In early 2006 the project moved from Objectstyle to the [[Apache Software Foundation]] and in December of 2006 was promoted to be a top level project of Apache.<ref>[https://blogs.apache.org/foundation/category/projects The Apache Software Foundation Blog]</ref>
 
Notable milestones in Cayenne's history include the release of Apache Cayenne 3.0 in May 2010<ref>[http://www.silicon.co.uk/workspace/apache-releases-details-of-cayenne-java-framework-8256 Silicon.co.uk news]</ref><ref>[http://www.eweek.com/development/apache-delivers-details-of-cayenne-3.0 eWeek news]</ref> and the release of Apache Cayenne 3.1 in the fall of 2014.<ref>[https://sdtimes.com/apache-cayenne/apache-cayenne-updated-with-highly-configurable-runtime/ Software Development Times]</ref>
 
==See also==
*[[Apache OpenJPA]]
 
==References==
{{Reflist}}
 
==External links==
*{{Official website|https://cayenne.apache.org/}}
*[http://www.objectstyle.org Objectstyle]
*[http://www.theserverside.com/tt/articles/article.tss?l=Cayenne Cayenne article on theserverside]
 
{{Jakarta Persistence}}
{{apache}}
{{Apache Software Foundation}}
 
[[Category:JavaApache platformSoftware Foundation projects|Cayenne]]
[[Category:Java enterprise(programming platformlanguage) libraries]]
[[Category:Object–relational mapping]]