Transaktionen von mehreren Anwendungen aus - JDBC

RelaX

Aktives Mitglied
Guten Tag,
ich hab folgendes Problem das ich irgendwie lösen muss.

Es geht um folgendes.
Ich greife von mehreren Anwendungen auf meine Datenbank zu, jeder der Anwendungen kann nun Inserts tätigen. Ein Object verteilt auf meheren Tabellen. Also sind es pro Object mehere Inserts.

Desweiteren kann auch gleichzeitig ein Zugriff auf die Datenbank geschehen. Wenn ich jetzt ein Object einfüge, dann müsste ich alle Inserts die bisher geschehen sind geheimhalten bis das Object fertig eingefügt wurde. Ansonsten knallt es leider.

Desweiteren ist ja nicht garantiert das sich zwei Inserts von Objecten nicht in die Quere kommen oder sehe ich das falsch?

Beispiel:

Object 1 insert
insert tabelle 1 liefert id = 3


Object 2 insert
insert tabelle 4 liefert id = 56
insert tabelle 1 liefert id = 3

Da ja Object 1 noch nicht eingepflegt wurde ist die id = 3 ja noch nicht fest vergeben und könnte doch nochmal vergeben werden????

Vielleicht hat mir da jemand einen bösen Floh ins Ohr gesetzt, ich bin eigentlich der Meinung dass das die Datenbank hinbekommt.

Mfg
 

KSG9|sebastian

Top Contributor
Genau das ist der Sinn von Transaktionen.

Code:
Client1 - beginTransaction

C1-insert
C1-insert

Client2 - beginTransaction

C1-insert
C2-insert

C2 - commit
C1 - commit

Die Datenbank ist dafür das das zu handeln. Gibt es beim insert Probleme werden die entsprechenden Transaktionen zurückgerollt.

Im obigen Beispiel sieht C1 keine Objekte von C2, C2 auch nicht von C1. Die Objekte werden erst sichtbar wenn die Transaktion committet wurde.

Bedeutet das z.B. C1 zurückgerollt wird weil C2 ein Objekt einfügt und anschließend z.B. eine Constraintverletzung bei C1 auftritt. Obwohl zu Beginn von C1 noch alles in Ordnung gewesen wäre...
 

turtle

Top Contributor
Ich möchte das was KSG9|sebastian geschrieben hat, bestätigen und anmerken...

Dieses lässt sich unter dem sogenannten Transaction Isolation Level einstellen. Hierzu lies bitte dies hier.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D MySQL Transaktionen in Entity-Class Datenbankprogrammierung 15
D Geschachtelte Transaktionen in einem DBMS Datenbankprogrammierung 3
G PreparedStatement und Transaktionen Datenbankprogrammierung 2
J mal wieder eine Frage zu parallelen Transaktionen.. Datenbankprogrammierung 2
F Hibernate Transaktionen Datenbankprogrammierung 2
D mysql und transaktionen... Datenbankprogrammierung 8
J Zahlungseingänge von mehreren Kunden wie am besten abbilden in der Datenbank ? Datenbankprogrammierung 8
E SQLite Datenbank durchsuchen mit mehreren Suchbegriffen Datenbankprogrammierung 10
S MySQL Befüllen von mehreren Spalten Datenbankprogrammierung 1
I JPA Liste mit mehreren Entitäten Datenbankprogrammierung 22
M Problem mit mehreren Datasourcen Datenbankprogrammierung 3
D Oracle Funktion mit mehreren Out Parametern ausführen? Datenbankprogrammierung 3
L MySQL Datenbank beschreiben mit mehreren Threads Datenbankprogrammierung 18
0 Filtern nach mehreren Kriterien Datenbankprogrammierung 4
S Embedded DB, die aus mehreren JVMs gestartet werden kann? Datenbankprogrammierung 10
H Group By mit mehreren Spalten Datenbankprogrammierung 2
S Verständnisproblem mit mehreren DAOs Datenbankprogrammierung 7
S Verkettung von Spalteninhalten aus mehreren Zeilen Datenbankprogrammierung 10
D aus mehreren sql tabellen matchen und sortieren Datenbankprogrammierung 6
P [Hibernate] Zwischentabelle mit mehreren Feldern Datenbankprogrammierung 7
C Hibernate-Mapping bei mehreren FK´s auf die selbe Tabelle Datenbankprogrammierung 12
J JDBC mit mehreren Threads. Datenbankprogrammierung 8
T [jdbc] einen Eintrag aus mehreren Tabellen löschen (Batch) Datenbankprogrammierung 3
L Datenbank für kleinere Anwendungen Datenbankprogrammierung 3
J Daten synchronisieren in Multi-Client-Anwendungen (Hibernate) Datenbankprogrammierung 6

Ähnliche Java Themen

Neue Themen


Oben