From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../hjp5/html/k100288.html | 221 +++++++++++++++++++++ 1 file changed, 221 insertions(+) create mode 100644 Master/Reference Architectures and Patterns/hjp5/html/k100288.html (limited to 'Master/Reference Architectures and Patterns/hjp5/html/k100288.html') diff --git a/Master/Reference Architectures and Patterns/hjp5/html/k100288.html b/Master/Reference Architectures and Patterns/hjp5/html/k100288.html new file mode 100644 index 0000000..07daaa4 --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/html/k100288.html @@ -0,0 +1,221 @@ + + + +Handbuch der Java-Programmierung, 5. Auflage + + + + + + + + + +
 Titel  + Inhalt  + Suchen  + Index  + DOC  +Handbuch der Java-Programmierung, 5. Auflage +
 <<  +  <   +  >   + >>  + API  +Kapitel 45 - Objektorientierte Persistenz +
+
+ + + + +

45.1 Einleitung

+
+ +
+ +

+In Kapitel 42 haben wir gesehen, +wie wir mit Hilfe von Datenbank-Treibern und der Abfragesprache SQL +Relationale Datenbanken mit Javaprogrammen verknüpfen und Daten +Ein- bzw. Auslesen können. Vielleicht ist Ihnen dabei aufgefallen, +dass die serielle Art und Weise des Zugriffs auf Relationale Datenbanken +nicht so recht mit der objektorientierten Programmierung harmonisiert. +Man spricht in diesem Fall auch von einem Impedance Mismatch. + +

+Über die Jahre hinweg entwickelte sich deshalb eine weitere Technik, +die eine objektorientierte Verknüpfung von Datenbanken und Programmiersprachen +gestattet und unter dem Namen Object Relational Mapping +(ORM) bekannt wurde. Zwar basiert der +Zugriff auf die im Hintergrund arbeitende Datenbank dabei weiterhin +auf JDBC und SQL. Nun kommt jedoch eine objektorientierte Zugriffsschicht +dazu, mit der die Datenbank-Informationen in Javaobjekte überführt +und dem Entwickler zur Verfügung gestellt werden. +

+ + +

+ +

+Abbildung 45.1: Datenbankzugriff mit JDBC und ORM

+ +

+Statt langwieriger SQL-Zugriffe und Transformation eines ResultSet +in Java-Objekte, kann der Entwickler diese nun einfach direkt Laden +oder Erzeugen und die Fließbandarbeit dem Persistenz API überlassen. +

+ + + + + + + + + + + +
+ +

+Das in diesem Kapitel vorgestellte Java Persistenz API (JPA) ist seit +dem JDK 5 Bestandteil von Java und vereinigt die Frameworks der Java +Data Objects (JDO) und der Entity Beans +(EJB). Während erstere für die Java Standard Edition zugeschnitten +waren, konnten die leistungsfähigeren EJBs nur in einem J2EE +Application Server zur Ausführung gebracht werden. Die neue Technologie +vereint nun die Vorteile beider Welten und lässt sich sowohl +mit der Standard Edition als auch mit der Enterprise Edition verwenden.

+ + + + +
 JDK1.1-6.0 
+
+

+ + + + + + + + + +
+ +

+Da das Java Persistenz API gleich zwei weit entwickelte Technologien +vereint, deren Anwendungsgebiet vor allem in großen und komplexen +J2EE-Applikationen liegt, gehen die Möglichkeiten dieses Frameworks +weit über die Java Standard Edition hinaus. Insofern soll dieses +Kapitel vor allem eine neue Technologie vorstellen und den Leser anregen, +sich möglicherweise tiefer mit dieser zu beschäftigen. Eine +vollständige Einführung würde den Rahmen dieses Buches +bei weitem sprengen. + +

+Sollten Sie kein Interesse an einer weiteren Zugriffsschicht für +Datenbanken haben, können Sie dieses Kapitel auch überspringen +und direkt zu Kapitel 46 +übergehen.

+ + + + +
 Hinweis 
+
+ + + + +

45.1.1 Bezug und Installation

+ +

+Das Persistenz API ist noch kein fester Bestandteil der Java Standard +Edition, sondern kann von der Homepage http://java.sun.com/javaee/technologies/persistence.jsp +heruntergeladen werden. Ähnlich wie mit JDBC liefert Sun mit +dem Java Persistenz API dabei zunächst nur einen Satz standardisierter +Schnittstellen, die anschließend von einer Implementierung ausgefüllt +werden müssen. + +

+Zum Glück gibt es eine Reihe freier OpenSource-Implementierungen. +So etwa das in diesem Buch verwendete Hibernate-Framework, das sich +auch auf der beiliegenden DVD findet oder von der Homepage http://www.hibernate.org +heruntergeladen werden kann. Ähnlich wie beim Datenbank-Treiber +ist es hierbei wichtig, dass die Klassen der Implementierung (JAR-Dateien) +im Classpath des Programms enthalten und damit dem Java-Programm bekannt +sind. + +

+Um die in diesem Kapitel vorgestellten Beispiele auszuführen, +können wir einfach die auf der DVD im Ordner install/persistenz +hinterlegten JAR-Archive in den Classpath integriert werden. Sollten +Sie das Framework stattdessen von der Homepage herunterladen, so benötigen +Sie die Pakete Core und Annotations des Hibernate-Projektes. +Die Verwendung des Classpath wird unter anderem in Abschnitt 13.4.1 +vorgestellt. +

+ + + + + + + + + +
+ +

+Genaugenommen stand das Hibernate-Framework bei der Entwicklung des +Persistenz API sogar Pate. Viele Aspekte wurden zunächst in diesem +Framework verwirklicht und erst im Nachhinein von Sun adaptiert. So +könnte man das Hibernate-Framework sogar ohne den »Aufsatz« +der Persistenz API verwenden. Oder die »unter der Haube« +des JPA verwendete Implementierung einfach gegen eine andere austauschen.

+ + + + +
 Hinweis 
+
+ +

+Als Datenbank soll auch in diesem Kapitel die bereits bekannte HSQLDB +mit den Tabellen der DirDB dienen, die in Abschnitt 42.3 +beschrieben wurde. Doch anstatt die Einträge über Verzeichnisse +und Dateien mit SQL auszulesen, werden wir uns in diesem Kapitel entsprechender +Javaobjekte bedienen. +


+ + + +
 Titel  + Inhalt  + Suchen  + Index  + DOC  +Handbuch der Java-Programmierung, 5. Auflage, Addison +Wesley, Version 5.0.1 +
 <<  +  <   +  >   + >>  + API  +© 1998, 2007 Guido Krüger & Thomas +Stark, http://www.javabuch.de +
+ + + -- cgit v1.2.3