Derby - Archivierung von Daten

Hallo an alle!

Ich nutze Apache Derby mit ORM (Object-Relational Mapping) in Java.
Nun habe ich ein ER-Diagramm gezeichnet, stehe aber vor dem Problem der Historie.
Ich habe eine Tabelle (Entität) namens THEMENGEBIET und dazu gehören in einer 1:n Beziehung mehrere „Aufgaben“ (Tabelle AUFGABE) mit den Attributen ID, AUFGABENTEXT, ERSTELLUNGSDATUM, STATUS. Die ID ist auto-inkrementell, der Aufgabentext ist die Aufgabenstellung, das Erstellungsdatum das Anlagedatum und der Status 0, 1, 2 für noch nicht erledigt, in Bearbeitung, und erledigt.

Nun habe ich das Problem der Historie. Ich will zu einem Themengebiet alle Aufgaben historisch durchlaufen können.
Beispiel:
Ich habe eine Aufgabe mit der ID 100. Diese lege ich mit dem Aufgabentext „Übung Mathe“ an, erhält das jetzige Datum und den Status 0 für „offen“.
Nun bearbeite ich die Aufgabe, und die geht vom Status 0 -> 1 (in Bearbeitung) und es muss ein Zeitstempel gesetzt werden, wann das geschah. Nun wird, der Aufgabentext geändert, dann von Status 1 -> 2 überführt (also fertig). Jetzt hat man vergessen, dass noch was fehlt, so nimmt man den Status von 2 -> 1, arbeitet weiter unf setzt dann wieder den Status von 1 -> 2.

Nun will ich das historisch in meiner Anwendung durchklicken können. Also Ausgangspunkt das Anlegen der Aufgabe. Und dann mit jedem Klick sehen was geändert wurde, vorwärts wie rückwärts. Zudem auch wenn ich sage: 13.01.2010 14:30 Uhr -> wie war der Stand der Aufagbe zu diesem Zeitpunkt.

Mein Problem ist die Abbildung in der Datenbank. Wie tut man das am Geschicktesten?

hat jemand eine Idee?

Gruß PHANTOM