Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Arbeiten mit ORM: JPA und Hibernate | Arbeiten mit Datenbanken
Spring Boot Backend
course content

Kursinhalt

Spring Boot Backend

Spring Boot Backend

1. Grundlagen der Backend-Entwicklung
2. Spring Boot Grundlagen
3. RESTful API
4. Arbeiten mit Datenbanken
5. Testen von Backend-Anwendungen

book
Arbeiten mit ORM: JPA und Hibernate

Wie Sie bereits wissen, ist Object-Relational Mapping (ORM) eine Technologie, die es Entwicklern ermöglicht, mit einer Datenbank auf Objektebene zu interagieren, anstatt über SQL-Abfragen.

Im Wesentlichen ist ORM ein Konzept, das es ermöglicht, ein Java-Objekt als Daten in einer Datenbank darzustellen (und umgekehrt). Es wird in Form der Java Persistence API (JPA) Spezifikation implementiert.

JPA

Beispiel aus dem echten Leben

Stellen Sie sich vor, dass JPA wie ein Standard für Steckdosen in verschiedenen Ländern ist. Dieser Standard definiert, wie eine Steckdose aussehen sollte und welche Spezifikationen sie erfüllen muss, damit Geräte daran angeschlossen werden können.

Der Standard selbst produziert jedoch nicht die Steckdosen. Um sie tatsächlich zu verwenden, benötigen Sie Hersteller, die diesen Standard implementieren. Sie erstellen die tatsächlichen Steckdosen, die damit übereinstimmen.

Hauptkomponenten der JPA

JPA-Komponenten sind Schlüsselelemente, die zusammenarbeiten, um Funktionalität für die Interaktion mit einer Datenbank bereitzustellen.

Wir werden diese Komponenten durch praxisnahe Beispiele erkunden, um Ihnen zu helfen, sie besser für die zukünftige Nutzung zu assoziieren.

Entität

Lassen Sie uns erinnern, was eine Entität ist. Eine Entität ist eine Klasse in Ihrem Code, die eine Tabelle in der Datenbank repräsentiert. Zum Beispiel beschreibt die User-Klasse, welche benutzerbezogenen Daten wir speichern.

Stellen Sie es sich wie eine Visitenkarte vor. Die Karte enthält den Namen, den Berufstitel und die Kontaktinformationen einer Person. In JPA beschreibt eine Entity-Klasse alle wichtigen Merkmale eines Objekts, genau wie eine Visitenkarte eine Person beschreibt.

EntityManager

In JPA führt der EntityManager Operationen wie Hinzufügen, Aktualisieren oder Löschen von Datensätzen durch und verwaltet all diese Aktionen.

EntityManager ist verantwortlich für die Verwaltung des Lebenszyklus von Entitäten (Objekten) und deren Interaktion mit der Datenbank.

Hauptmethoden

So verwenden Sie EntityManager in Spring Boot

Persistenzkontext

Lebenszyklus von Entitäten

  • Transient: Die Entität wurde gerade erstellt, aber noch nicht in der Datenbank gespeichert;
  • Managed: Die Entität wurde in der Datenbank gespeichert und wird vom EntityManager verwaltet. Alle Änderungen daran werden automatisch verfolgt;
  • Detached: Die Entität wurde zuvor verwaltet, aber der Persistenzkontext wurde geschlossen oder der EntityManager wurde geleert. Änderungen in diesem Zustand werden nicht automatisch verfolgt;
  • Removed: Die Entität wurde zur Löschung aus der Datenbank markiert.

Wenn der EntityManager eine Entität erstellt oder findet, platziert er diese Entität in den Persistenzkontext.

Alle Änderungen, die an der verwalteten Entität vorgenommen werden, werden automatisch verfolgt, und nach Abschluss der Transaktion werden diese Änderungen mit der Datenbank synchronisiert.

JPQL (Java Persistence Query Language)

In JPQL schreiben Sie Abfragen, um Daten in der Datenbank zu finden oder zu ändern, und zwar in einem objektorientierten Stil.

In JPQL arbeiten wir nicht direkt mit den Tabellen- und Spaltennamen. Stattdessen verweisen wir auf die Category-Klasse und ihr title-Feld, was die Abfrage für Java-Entwickler verständlicher macht. JPQL abstrahiert die zugrunde liegende Datenbankstruktur, sodass Sie sich auf das objektorientierte Modell konzentrieren können.

Hibernate

Zum Beispiel kann Hibernate automatisch Datenbanktabellen basierend auf Ihren Entitäten (Klassen) erstellen und aktualisieren.

Hibernate integriert Caching-Mechanismen, die es ermöglichen, häufig verwendete Daten im Speicher zu speichern, wodurch die Anzahl der Anfragen an die Datenbank reduziert und die Anwendungsleistung beschleunigt wird.

1. Was ist JPA?

2. Welche Schnittstelle in JPA wird für Operationen an Entitäten verwendet?

Was ist JPA?

Was ist JPA?

Wählen Sie die richtige Antwort aus

Welche Schnittstelle in JPA wird für Operationen an Entitäten verwendet?

Welche Schnittstelle in JPA wird für Operationen an Entitäten verwendet?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 4
We're sorry to hear that something went wrong. What happened?
some-alt