1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Objekten persistent in DB speichern, Konsistenz Objekte zur Laufzeit

  • wuz_thomas
  • 26. Mai 2006 um 09:41
  • Unerledigt
  • wuz_thomas
    12
    wuz_thomas
    Mitglied
    Reaktionen
    1
    Punkte
    1.501
    Beiträge
    195
    • 26. Mai 2006 um 09:41
    • #1

    Hi all!

    Angenommen man hat eine Datenklasse Student die in einer MySQL Tabelle abgebildet ist. Wenn ich jetzt z.B.: die Adresse ändere, führe ich zuerst das UPDATE in der Datenbank durch und hole mir dann alle aktiven studentenobjekte (Reflection?) und verwende die setter-Methoden, oder wie gewärhleiste ich am performantesten Konsistenz?
    Bin für jeden link oder jedes google stichwort dankbar.

  • wuz_thomas
    12
    wuz_thomas
    Mitglied
    Reaktionen
    1
    Punkte
    1.501
    Beiträge
    195
    • 26. Mai 2006 um 12:58
    • #2

    Und ist es komplett "gestört" so zu arbeiten:

    Code
    //zuerst eintrag in die db
    mysql.update(newAddress);
    //dann kümmere ich mich um die laufzeit objekte
    Class student = Class.forName( "Student" ); 
    Class[] StudentObjects =  student.getClasses();
    for int(i=0;i<StudentObjects.length;i++{
    StudentObjects[i].setAddress(newAddress);
    }

    Es handelt sich um ein webservice, weiß nicht genau ob ich überhaupt objekte aus der db zur laufzeit erstelle, aber mich interessiert wie man generell diese konsistenzproblem angeht?

  • Sandybutt
    8
    Sandybutt
    Mitglied
    Reaktionen
    4
    Punkte
    554
    Beiträge
    99
    • 26. Mai 2006 um 13:04
    • #3

    Ist der übliche Ansatz nicht, die Objekte bei jedem Zugriff neu aus der Datenbank zu holen? Damit erledigen sich alle Konsistenzprobleme.

    Außerdem glaub ich nicht, dass getClasses das macht, was du willst.
    http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html#getClasses()

    Ich glaub, Objekte irgendwo im Speicher zu halten, schafft mehr Probleme, als es Performancevorteile bringt. (Für kleinere Projekte jedenfalls). Und wenn dus trotzdem machen willst, musst du auf jedenfall entweder ein Studenten-Array verwenden oder irgendeine andere Art von Collection - Die Lösung oben macht relativ wenig Sinn.

    "I don't think that Debian can really compete with Gentoo. Sure it might be okay, but when it comes to dependencies, you probably are still going to have to get them all on your own. Or is there something like portage in the Debian world as well?"

  • wuz_thomas
    12
    wuz_thomas
    Mitglied
    Reaktionen
    1
    Punkte
    1.501
    Beiträge
    195
    • 26. Mai 2006 um 13:34
    • #4

    Thx; selbstverständlich sollte man die objekte bei jedem zugriff neu aus der DB holen, frag mich nur gerade ob das bei sehr verteilten systemen wirklich so möglich ist. Aber dann müsste man wohl einen Thread schreiben bei dem sich das neu angelgte Objekt "anmelden" muss, und der diese immer aktuell hot...

  • Spockman
    5
    Spockman
    Mitglied
    Punkte
    210
    Beiträge
    41
    • 26. Mai 2006 um 17:27
    • #5
    Zitat von wuz_thomas

    zugriff neu aus der DB holen, frag mich nur gerade ob das bei sehr verteilten systemen wirklich so möglich ist.

    Nein, und in Sprachen wie Erlang, die (im Gegensatz zu Java) das Entwickeln von verteilten Systemen erleichtern, gibt es konsequenterweise auch gar keine Moeglichkeit, Objekte zu sharen. http://www.erlang.org

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung