Java EE 7 Grundkurs

Zugriff auf Datenquelle

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Nach der Konfiguration sowie der Einrichtung einer Datenquelle im Application Server verfügt die Applikation über die Fähigkeit, diese anzusprechen und zu nutzen.

Transkript

Die Datenbank ist eingerichtet. Ein Datenbanknutzer existiert. Die Datenquelle ist im WildFly- Application-Server eingerichtet. Was ist jetzt noch zu tun? Nun geht es nur noch darum, ein Projekt im Eclipse anzulegen und für JPA und die erste Verwendung mit der JPA zu konfigurieren. Dies werden wir in diesem Video tun. Lassen Sie uns zu diesem Zweck die Eclipse-Entwicklungsumgebung öffnen und ein kleines Projekt anlegen. Im Eclipse legen wir ein neues dynamisches Web-Projekt an. Wir wählen dies aus dem Menü oben aus. Der Projektname wird "JPA" lauten. Wir können die anderen Einstellungen für gewöhnlich so lassen wie sie sind. Klicken Sie auf "Finish". Damit wird dieses Projekt angelegt. Dieses Projekt hat jetzt noch keine JPA-Unterstützung. Für diese müssen wir noch sorgen. Führen Sie einen Rechtsklick auf dem Projekt aus und wählen Sie aus dem Kontextmenü den Eintrag "Properties". Klicken Sie hier auf den sich ungefähr in der Mitte befindlichen Eintrag "Project Facets" und fügen Sie Ihrem Projekt JPA-Unterstützung hinzu, indem Sie die entsprechende Option anklicken. Achten Sie darauf, dass die Version auf 2.1 gestellt ist. Sie können nun eine erweiterte Konfiguration vornehmen, indem Sie auf den entsprechenden Link klicken. Hier können Sie, wenn Sie es wünschen, eine spezifische JPA-Plattform festlegen. Das bedeutet, Sie legen eine Runtime fest und einen O/R-Mapping-Provider, über den letztlich JPA arbeitet. Wir können dies aber genauso lassen, wie es ist, denn im WildFly gibt es bereits ein O/R-Mapping-Framework, Hibernate, das wir für gewöhnlich verwenden können. Eine Verbindung müssen wir hier nicht anlegen. Deswegen können wir einfach auf die Schaltfläche "OK" klicken. Ein Klick auf die Schaltfläche "OK" in dem Properties-Fenster schließt es und fügt das JPA-Facet dem Projekt hinzu. Der letzte Schritt ist nun, das Projekt zu erweitern und in den Bereich "JPA Content" zu wechseln. Wenn Sie diesen Bereich auch erweitern, sehen Sie: Es gibt eine Datei "persistence.xml". Die wird später, wenn die Applikation deployed wird, in das META-INF-Verzeichnis der Applikation kopiert. Im Moment liegt sie dort noch nicht herum. Wir nutzen diesen Eintrag hier und machen einen Doppelklick auf diese persistence.xml-Datei. Hier wechseln wir auf den unten befindlichen Connection-Reiter. Und hier geben wir jetzt den Namen der von uns vorhin definierten Data Source an. Er lautete: "java:jboss/datasources/MySQLDS". Speichern Sie die Datei ab. Nun haben Sie Ihr Projekt für die Verwendung mit JPA konfiguriert. Das, was wir zuletzt gemacht haben, nennt sich das Anlegen einer Persistence Unit. Eine Persistence Unit definiert nämlich eine von der JPA zu nutzende Datenquelle. Diese Definition befindet sich immer in der Datei "META-INF/persistence.xml". Und darin ist die Referenz auf die Java-EE-Datenquelle enthalten. Dabei kann auch festgelegt werden, optional, welches O/R-Mapping-Framework, also Hibernate, Eclipse, Link oder wie sie alle heißen, zu verwenden ist. Und wir können zusätzliche Konfigurationseinstellungen für die JPA und das O/R-Mapping- Framework festlegen. Eine Applikation kann grundsätzlich mehrere Persistence Units haben. Somit sind wir in der Lage, unterschiedliche Konfigurationen für Test- und Produktivbetrieb zu verwalten. So eine Persistence Unit, wenn sie einmal konfiguriert ist, kann verwendet werden. Dazu muss sie in eine Bean oder in ein Servlet injiziert werden. Dies geschieht mit Hilfe der PersistenceContext-Annotation. Und wir bekommen eine EntityManager-Instanz injiziert. Diese wird von der Context and Dependency Injection, CDI, verwaltet. Das Ganze sieht so aus wie in diesem Beispiel. Die Angabe von unitName ist optional. Ist in der persistence.xml nämlich nur eine Persistence Unit konfiguriert, dann müssen wir keinen unitName angeben. Ist mehr als eine Persistence Unit konfiguriert, dann müssen wir diese Angabe machen. Der EntityManager, der uns injiziert wird, ist dann eine Unit of Work. Auf dessen Ebene führen wir sogenannte CRUD-Operationen, also Create, Read, Update und Delete, aus. So ein EntityManager sollte niemals länger referenziert oder genutzt werden. Er stellt uns darüber hinaus einige zusätzliche Funktionalitäten, nämlich 1st- und 2nd-Level-Cache, bereit. Dieses Caching kann dann auch deaktiviert werden. Und er kümmert sich um den Lebenszyklus von Entitäten. Mit dem EntityManager werden Sie sehr intensiv arbeiten, wenn Sie sich mit der JPA befassen. Wir sind einen sehr weiten Weg gegangen. Wir haben die Datenbank konfiguriert, wir haben den Server konfiguriert, wir haben die Datenquelle angelegt, und wir haben uns über Persistence Context, Persistence Units und den EntityManager unterhalten. Sie müssen zum Glück nicht jeden dieser Aspekte jeden Tag beherrschen, wenn Sie mit der JPA arbeiten wollen. Aber zu sehen, was dahinter steht, ist schon eine wichtige Sache.

Java EE 7 Grundkurs

Lernen Sie die Grundlagen der Programmierung mit Java EE 7 verstehen und anwenden.

6 Std. 4 min (44 Videos)
Derzeit sind keine Feedbacks vorhanden...

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!