ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
494
494
EMPFEHLEN
-
31.07.10 16:11 #1SteveP Tutorials.de Gastzugang
Hi,
ich möchte eine Art Kassenbuch schreiben, das seine Daten in einer MySQL Datenbank hinterlegt.
Dabei können auf ein Konto/in eine Kasse Geld eingezahlt, abgehoben und der Kontostand nachgefragt werden. Das Problem ist nun, was passiert, wenn mehrere Nutzer gleichzeitig Geld einzahlen oder abheben.
Momentan realisiere ich den Einzahlvorgang so, dass ich den Kontostand abfragen, das Eingezahlte draufaddiere und den neuen Wert in die Datenbank schreibe. Nun könnte es aber auch passieren, dass jemand genau zwischen dem Abfragen + Draufaddieren und dem Schreiben des neuen Wertes Geld einzahlt. Dessen Einzahlung würde ich ja dann einfach überschreiben, als wäre sie nie da gewesen.
Bietet JDBC an, dass es automatisch selbst prüft ob der Wert verändert wurde, und dann nicht schreibt?
Bietet z.B. Hibernate sowas an?
Ich hab schon Google bemüht, bin dort immer wieder auf Begriffe wie optimistic und pessimistic Locking gestoßen, mir ist aber nicht ganz klar, was sie bedeuten.
Vielen Dank im Voraus,
mfg Steve
-
01.08.10 14:52 #2
- Registriert seit
- Jun 2007
- Ort
- Passau (Niederbayern)
- Beiträge
- 1.298
Hallo,
für dich sollten die folgenden Begriffe hilfreich sein:
Transaktionen
Lock
Gruß
BKÜber eine gute Bewertung freut sich jeder ;)
Bitte erledigte Threads als "Erledigt" markieren.
"Though a program be but three lines long, someday it will have to be maintained.''
-- Geoffrey James, "The Tao of Programming"
-
01.08.10 17:48 #3SteveP Tutorials.de Gastzugang
Danke für die Antwort,
ich nehme an, du willst, mir damit sagen, dass ich einfach nach dem Abfragen des Wertes die Tabelle solange mit einem Lock versehen soll, bis ich den Wert geändert habe und dann den Lock wieder lösen soll.
So werd ichs machen, danke.
Weisst du zufällig auch, wie das bei Hibernate gehandhabt wird?
-
Hi Steve,
Hibernate hat eine 1A Doku. Das Chapter 11. Transactions and Concurrency handelt von dem Thema und hat gute Code Beispiele. Am besten ganz lesen, das Thema verfolgt Dich immer wieder
Wenn Du mehr zu dem Thema wissen möchtest, das Problem vor dem Du stehst wird Nebenläufigkeit - zu engl. concurrency - genannt.
-
05.08.10 20:05 #5SteveP Tutorials.de Gastzugang
Super, danke für den Begriffstipp.
schöne Grüße,
Steve
Ähnliche Themen
-
Java 3D Persistenz
Von hippo08 im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 1Letzter Beitrag: 09.09.09, 08:23 -
VNC Zugriffe überwachen?
Von chriss_2oo4 im Forum NetzwerkeAntworten: 0Letzter Beitrag: 30.10.07, 10:06 -
Konkurrierende Zugriffe auf EntityBean verhindern
Von AliB im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 0Letzter Beitrag: 01.10.07, 06:22 -
EJB3 persistenz problem
Von hispeedsurfer im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 0Letzter Beitrag: 27.04.07, 11:00 -
Welche Persistenz für große Datenmengen?
Von Sandra Haupt im Forum JavaAntworten: 13Letzter Beitrag: 09.08.04, 11:55





Zitieren

Login




