Apache Cayenne
Apache Cayenne ist ein freies Persistenz- und ORM-Framework für die Programmiersprache Java.
Apache Cayenne | |
---|---|
Basisdaten | |
Entwickler | Apache Software Foundation |
Erscheinungsjahr | 7. Januar 2007[1] |
Aktuelle Version | 4.1[2] (14. Juli 2020) |
Betriebssystem | plattformunabhängig |
Programmiersprache | Java |
Kategorie | OR Mapper |
Lizenz | Apache-Lizenz 2.0 |
cayenne.apache.org |
Fähigkeiten
Wie die meisten anderen ORM-Frameworks bildet Apache Cayenne das Datenbankschema direkt auf Java-Klassen ab, und generiert dazu SQL-Statements zur Laufzeit. Ebenfalls unterstützt Apache Cayenne Transaktionen, Joins, Sequenzen etc.
Darüber hinaus können mit der Remote Object Persistence von Apache Cayenne auch Java-Objekte mittels Web Services auf anderen Java-Clients persistiert werden. Damit unterscheidet sich Apache Cayenne von den meisten anderen ORM-Frameworks. Ebenso unterstützt Apache Cayenne die Serialisierung mittels XML.
Apache Cayenne unterstützt mittels Reverse Engineering sowohl die Erzeugung von Datenbankschemata aus Java-Klassen, als auch die Generierung von Java-Klassen aus Datenbankschemata mittels Apache Velocity. Diese Funktionalitäten können mithilfe des CayenneModeler, einer Benutzeroberfläche, ohne Konfiguration in XML-Dateien mittels derer Annotationen umgesetzt werden. Ganze Datenbankschemata können somit einfach und direkt auf Java-Objekte gemappt werden.
Apache Cayenne unterstützt weiters wie die meisten anderen ORM-Frameworks eine Abfragesprache auf Objektebene, Caching, vorausschauendes Holen von Abhängigkeitsbäumen, sowie Validierung von Objekten und ihren Abhängigkeiten. Darüber hinaus noch Objektvererbungen, automatische Erkennung der Datenbank, sowie die Persistierung generischer Objekte.
Geschichte
Cayenne wurde von der Firma Objectstyle unter Andrus Adamchik gestartet.[3] Es wurde ab dem ersten Release im Juli 2002 unter der Apache-Lizenz veröffentlicht.[4] Anfang 2006 zog das Projekt von Objectstyle zur Apache Software Foundation um und wurde im Dezember 2006 eines der Top-Level-Projekte von Apache.
Siehe auch
Literatur
- Andrus Adamchik, Eric Schneider: Cayenne. Being Productive with Object Relational Mapping. Hrsg.: TheServerSide.com. 1. Juni 2004 (englisch, theserverside.com [abgerufen am 1. Juni 2013]).
Einzelnachweise
- projects.apache.org. (abgerufen am 8. April 2020).
- Release 4.1. 14. Juli 2020 (abgerufen am 15. Juli 2020).
- ObjectStyle.org, ObjectStyle.com and Our Community Roots, 25. Januar 2012
- cayenne-use. Abgerufen am 26. März 2020.