tutorials.de Buch-Aktion 02/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
494
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    SteveP 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
     

  2. #2
    Avatar von Bratkartoffel
    Bratkartoffel Bratkartoffel ist offline gebratene Kartoffel
    tutorials.de Premium-User
    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"

  3. #3
    SteveP 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?
     

  4. #4
    Avatar von Sentoo
    Sentoo Sentoo ist offline Mitglied Gold
    Registriert seit
    Jul 2009
    Ort
    Brühl
    Beiträge
    131
    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.
     

  5. #5
    SteveP Tutorials.de Gastzugang
    Super, danke für den Begriffstipp.

    schöne Grüße,

    Steve
     

Ähnliche Themen

  1. Java 3D Persistenz
    Von hippo08 im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 1
    Letzter Beitrag: 09.09.09, 08:23
  2. VNC Zugriffe überwachen?
    Von chriss_2oo4 im Forum Netzwerke
    Antworten: 0
    Letzter Beitrag: 30.10.07, 10:06
  3. Konkurrierende Zugriffe auf EntityBean verhindern
    Von AliB im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 0
    Letzter Beitrag: 01.10.07, 06:22
  4. EJB3 persistenz problem
    Von hispeedsurfer im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 0
    Letzter Beitrag: 27.04.07, 11:00
  5. Welche Persistenz für große Datenmengen?
    Von Sandra Haupt im Forum Java
    Antworten: 13
    Letzter Beitrag: 09.08.04, 11:55