ich habe ein größeres Programm geschrieben, indem (selbstverständlich) auch Daten eingelesen werden. Basierend darauf erstelle ich verschiedene Objekte (zum Beispiel mehrere Personen mit Namen, die wiederum an bestimmten Veranstaltungen teilnehmen usw.). Diese ganze Logik könnte ich nun in einer Datenbank speichern (die Modellierung der Datenbank habe ich auch bereits gemacht und sie auch schon in das Programm implementiert).
Die Frage ist nun, wie man denn vorgeht, um den Programmzustand bei Neustart wiederherzustellen? Ich habe von der Möglichkeit der Serialisierung gelesen, in der dann bei Neustart alle Objekte wieder vorhanden sind. Als andere Möglichkeit würde mir einfallen, die Daten aus der Datenbank zu lesen und darauf aufbauend eine Methode zu schreiben, die aus diesen Daten wieder alle Objekte erstellt.
Es ist nicht so ganz verständlich was du eigentlich willst. Ich gehe davon aus du meinst etwas wie das:
Du hast eine Tabelle mit Personen, eventuell kanst du diese Tabelle ändern, neue Personen hinzufügen löschen etc. Die Personen Objekte hast du doch aber in irgendeiner Datenstruktur gespeichert? Diese wird dann als strings in eine Datenbank tabelle geschrieben.
Tabelle Personen:
Name,Vorname,Adresse etc.
1 Tabelle spalte = 1 Personen Objekt
Die Daten liegen dort dann erstmal sicher. Bei Neustart des Programmes wird einfach ein Select auf der Datenbank ausgefürt und die einzelnen Strings wieder zu Personen objekte zusammengefasst und wieder eventuelle eine List generiert. Diese übergibst du einfach deiner Tabelle, die diese dann anzeigen soll.
Ok, es ist natürlich sinnvoll, für Programme mit vielen Daten eine Datenbank zu erstellen.
Derzeit erstelle ich eben eine Person, in dem ich Name, Vorname und Anschrift einlese und von der Klasse Person ein Objekt generiere. Die Daten in einer JTable lese ich dann mittels der Abfrage über alle Personen Objekte aus, indem ich mir aus den jeweiligen Objekten den Namen, Vorname und die Anschrift hole.
Vereinfachen könnte ich das also mit einer Datenbank, indem ich eine Tabelle erstelle, in der diese ganzen Personen gespeichert sind. Anschließend muss ich nur eine select-Abfrage machen und kann die Daten in die Tabelle speichern.
Das mag zunächst mal einfacher aussehen einfach ein serialisiertes Objekt in der DB zu speichern. Allerdings musst Du bei jeder noch so kleinen Änderung immer das gesamte Objekt deserialisieren, ändern danach wieder serialisieren und in die DB speichern. Evlt. willst man auch mal einfach nur Personen auflisten deren Attribut einem bestimmten Kriterium entsprechen. Dann muss man erst einmal alle Personen deserialisieren und im Programm sortieren/filtern, statt die optimierten Algorithmen auf der DB zu nutzen. Oder es existieren noch weiter Tabellen/Daten die mit den Personen verknüpft sind… Noch schlimmer: Das Datenmodell/die Klasse ändert sich (es z.B. sollen Kontodaten, Hobbies… der Personen erfasst werden) alle Daten werden mit einem Schlag invalid und müssen ersteinmal nach dem alten ausgelesen angepasst und nach dem neuen Schema zurückgeschrieben werden… Auf DB Seite wäre das mit en paar simplen Statements schnell erledigt usw.
Falls noch nicht so implementiert, empfiehlt sich ein auf solche Objekte zugeschnittenes TableModel.