Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Transaktionen | Arbeiten Mit Datenbanken
Quizzes & Challenges
Quizzes
Challenges
/
Spring Boot Backend

bookTransaktionen

Eine Transaktion bietet im Wesentlichen eine Wahlmöglichkeit: Entweder werden alle darin enthaltenen Operationen erfolgreich abgeschlossen, oder keine von ihnen wird ausgeführt.

Stellen Sie sich eine Banküberweisung vor, bei der Geld von einem Konto auf ein anderes übertragen wird. Dieser Vorgang umfasst zwei Schritte:

  1. Abbuchung des Geldes von einem Konto;
  2. Einzahlung des Geldes auf ein anderes Konto.

Scheitert die Transaktion nach der Abbuchung, aber vor der Einzahlung, könnten die Gelder "verloren" gehen. Eine Transaktion stellt sicher, dass beide Operationen entweder vollständig abgeschlossen oder vollständig rückgängig gemacht werden.

Grundlagen des Transaktionsmanagements

Die @Transactional Annotation: Diese wird verwendet, um Methoden oder Klassen zu deklarieren, die im Kontext einer Transaktion ausgeführt werden sollen.

Wenn eine Methode mit dieser Annotation aufgerufen wird, startet Spring eine neue Transaktion. Wenn die Methode erfolgreich abgeschlossen wird, wird die Transaktion committed; andernfalls wird sie zurückgesetzt.

Ein Beispiel basierend auf dem zuvor erwähnten Praxisfall.

BankService.java

BankService.java

copy

Wenn die Methode transferMoney mit der Annotation @Transactional versehen ist, bedeutet dies, dass alle Änderungen innerhalb dieser Methode im Rahmen einer einzigen Transaktion ausgeführt werden.

Wenn fromAccount.withdraw(amount) gefolgt von toAccount.deposit(amount) aufgerufen wird, müssen beide Aktionen erfolgreich abgeschlossen werden. Tritt beispielsweise während der Operation toAccount.deposit(amount) ein Fehler auf, wird die Transaktion automatisch die während des Schritts fromAccount.withdraw(amount) vorgenommenen Änderungen zurücksetzen (Rollback).

Dies gewährleistet, dass entweder beide Operationen ausgeführt werden und das Geld übertragen wird oder im Falle eines Fehlers keine der Operationen durchgeführt wird, wodurch ein Verlust von Geldmitteln verhindert wird. Die Transaktion garantiert, dass die Datenbank niemals in einem inkonsistenten Zustand verbleibt.

Praktische Anwendung von Transaktionen

Zusammenfassung

Eine Transaktion ist eine Gruppe von Datenbankoperationen, die als eine Einheit behandelt werden. Sie stellt sicher, dass alle Operationen gemeinsam erfolgreich sind oder im Fehlerfall vollständig zurückgesetzt werden. Weitere Informationen zu Transaktionen finden Sie hier.

question mark

Was ist eine transaction im Kontext einer Datenbank?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 6

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Awesome!

Completion rate improved to 3.45

bookTransaktionen

Swipe um das Menü anzuzeigen

Eine Transaktion bietet im Wesentlichen eine Wahlmöglichkeit: Entweder werden alle darin enthaltenen Operationen erfolgreich abgeschlossen, oder keine von ihnen wird ausgeführt.

Stellen Sie sich eine Banküberweisung vor, bei der Geld von einem Konto auf ein anderes übertragen wird. Dieser Vorgang umfasst zwei Schritte:

  1. Abbuchung des Geldes von einem Konto;
  2. Einzahlung des Geldes auf ein anderes Konto.

Scheitert die Transaktion nach der Abbuchung, aber vor der Einzahlung, könnten die Gelder "verloren" gehen. Eine Transaktion stellt sicher, dass beide Operationen entweder vollständig abgeschlossen oder vollständig rückgängig gemacht werden.

Grundlagen des Transaktionsmanagements

Die @Transactional Annotation: Diese wird verwendet, um Methoden oder Klassen zu deklarieren, die im Kontext einer Transaktion ausgeführt werden sollen.

Wenn eine Methode mit dieser Annotation aufgerufen wird, startet Spring eine neue Transaktion. Wenn die Methode erfolgreich abgeschlossen wird, wird die Transaktion committed; andernfalls wird sie zurückgesetzt.

Ein Beispiel basierend auf dem zuvor erwähnten Praxisfall.

BankService.java

BankService.java

copy

Wenn die Methode transferMoney mit der Annotation @Transactional versehen ist, bedeutet dies, dass alle Änderungen innerhalb dieser Methode im Rahmen einer einzigen Transaktion ausgeführt werden.

Wenn fromAccount.withdraw(amount) gefolgt von toAccount.deposit(amount) aufgerufen wird, müssen beide Aktionen erfolgreich abgeschlossen werden. Tritt beispielsweise während der Operation toAccount.deposit(amount) ein Fehler auf, wird die Transaktion automatisch die während des Schritts fromAccount.withdraw(amount) vorgenommenen Änderungen zurücksetzen (Rollback).

Dies gewährleistet, dass entweder beide Operationen ausgeführt werden und das Geld übertragen wird oder im Falle eines Fehlers keine der Operationen durchgeführt wird, wodurch ein Verlust von Geldmitteln verhindert wird. Die Transaktion garantiert, dass die Datenbank niemals in einem inkonsistenten Zustand verbleibt.

Praktische Anwendung von Transaktionen

Zusammenfassung

Eine Transaktion ist eine Gruppe von Datenbankoperationen, die als eine Einheit behandelt werden. Sie stellt sicher, dass alle Operationen gemeinsam erfolgreich sind oder im Fehlerfall vollständig zurückgesetzt werden. Weitere Informationen zu Transaktionen finden Sie hier.

question mark

Was ist eine transaction im Kontext einer Datenbank?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 6
some-alt