EJB Speichern von Daten

macfreakz

Mitglied
Hallo EJB Freaks ;-)

also, ich habe zwei Tabellen, eine ist die Kunden und die andere die Bestellungen.

Kunde hat mehrere Bestellungen heisst die Beziehung zwischen diese Tabellen.

Kunde kann die Bestellungen durch Swing-GUI konfigurieren und ergänzen.
Anschließend speichert er seine Bestellungen durch Betätigen von Speichern-Button.

D.h. die Änderungen in der Bestellungstabelle werden erst nach dem Speichern vorgenommen. --> die Tabelle wird nicht gleich nach dem Ändern / Ergänzen / Entfernen gespeichert, sondern nachdem das Button "speichern" betätigt wird.

Wie kann ich die Tabelle und Collection von Bestellungen synchronisieren oder
geht es automatisch mit EJB, dass die Änderungen zwischen die alte Collection und die neue Collection verglichen und aktualisiert werden?

Danke!
 
Hallo!

Das kommt drauf an wie deine Architektur ausschaut. Prinzipiell wäre das möglich (CMP, CMR).

Wie sieht die Kommunikation zwischen dem Client und Server aus? Verwendest du Value Objects und SessionBeans... oder arbeitest du mit den EntityBean's direkt (*evil*)?

Gruß Tom
 
ja ich verwende Value Objecs und SessionBeans.

ich hab die Einträge geändert
und einfach geupdated.

es scheint nicht zu gehen.
d.h. ich muss extra sychnronisieren programmieren?
 
Hallo!

Na ja, wenn du im ValueObject für Kunden die Bestellungen (als Collection von OrderVO's) mitschickst, dann musst du auf der Serverseite noch eine Art Merging vornehmen.
Ich weis ja nicht wie "intensiv" du die Bestellungen im Client bearbeiten kannst...
Wenn du nach der Veränderung bzw. Neuanlage/ Löschung einer Bestellung direkt zum Server gehen würdest hättest du IMHO keine so großen Merging Probleme....
(Von wegen, "Ich hab hier ne Collection von OrderVO's von bei denen ich zwei Bestellungen hinzugefügt habe/ 3 gelöscht / und 2 geändert...) du müsstest für einen korrekten Ablauf so auf der Serversite erstmal alle Bestellungen zum Kunden laden (bzw. die von den Informationen (OK) aus VO's verfügbar sind). Dann über diese Menge iterieren und die Änderungen Updaten / die zu löschenden Ausfindig machen (und remove() aufrufen) und die neu hinzugekommen der Collection von Orders hinzufügen.

Na ja, wenn du in deinen ValueObjects mit flags (isNew, isForDelete, isDirty) arbeiten würdest gings auch schon einfacher...

Gruß Tom
 

Neue Beiträge

Zurück