JSF AutoIncrement on MySQL Table

Dieses Thema JSF - AutoIncrement on MySQL Table im Forum "Data Tier" wurde erstellt von NoXiD, 29. Jan. 2014.

Thema: AutoIncrement on MySQL Table Hallo, hab folgendes Problem: Ich speichere einen neuen Customer per EntityManager in meine db. Diese db hat ein...

  1. Hallo, hab folgendes Problem:

    Ich speichere einen neuen Customer per EntityManager in meine db. Diese db hat ein autoincrement auf ein non-id feld nämlich "nummer". Soweit funktioniert alles, mein Customer wird gespeichert und in der Datenbank wird im Hintergrund die "nummer" gesetzt. Das Problem ist, dass ich beim gespeicherten Wert (also bei der add Funktion) den gespeicherten Customer zurückgebe. Dieser hat aber noch keine "nummer" gesetzt, da as AutoIncrement der MySQL db (anscheinend) erst dann zieht, wenn die Transaktion abgeschlossen ist.

    Wenn ich jetzt diesen Customer erneut speichere, versucht er ein Update zu machen und meckert über den null-Wert von "nummer". Funktionieren tut es aber, wenn ich in der Bean direkt nach dem Speichern den Customer neu lade, also:
    Code (Java):

    Customer cust = customerService.add(new Customer(...));  //hier ist noch keine "nummer" vorhanden
    cust = customerService.findCustomerById(cust.getId());     //hier bekomme ich den zuvor gespeicherten Customer per id und mit einer "nummer", da dies eine neue Transaktion ist.
     
    weiß da jemand Rat?
     
    Zuletzt bearbeitet: 29. Jan. 2014
  2. Vielleicht hilft dir das Grundlagen Training weiter --> *Klick*