CW 02 - Persistenz, Datenbank

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

CW 02 - Persistenz, Datenbank
Ich bin von der Aufgabenstellung bzw. den Erwartungen sehr verwirrt.

Mein Programm kann sich merken, dass ich Bilder in vergangen Sitzungen hochgeladen habe. Die eigentlichen Bilder werden jedoch nicht gespeichert.
Ist das jetzt ein Fehler oder so beabsichtigt?

Außerdem verwirrt dann “Ensure that objects (location, coordinate) are stored properly in database” aus der Hausaufgabe von dieser Woche noch mehr.
Wenn meine Photos quasi-persistent (s. Absatz oben) sind und eine Referenz auf Location/Coordinate haben, sind diese dann nicht auch persistent?
Laut Klassendiagramm soll ja nur Photo.java das Interface Persistent über DataObject implementieren, nicht Location oder Coordinate.

Ich verstehe einfach nicht, ob ich noch Java-Code schreiben muss, etwas an den Dockerfile(s) ändern soll, oder ganz was anderes tun.

Ich bin im Master und finde das Verhältnis von Lehrmaterial/Anleitung zu Hausaufgaben für einen Bachelor-Kurs doch sehr hoch.


Hey,

dass Bilder verschwinden ist okay (ein Bug, den ihr nicht fixen müsst). Wie in der letzten Übung besprochen kommt das von der Inkonsistenz zwischen DB und Container Dateisystem.

Ich habe versucht einen Quickfix zu finden, indem man ein Docker Volume mounted, allerdings wird das jeweilige Verzeichnis immer anders benannt, deswegen ist ein schneller Fix nicht ohne weiteres möglich…

Zwecks der Persistenz von Location und Coordinate:

  • Ziel ist es diese so “persistent” wie die Photos zu machen, d.h. dass diese Metadaten auch in der DB abgespeichert werden
  • Herauszufinden, ob Location und Coordinate von DataObject erben ist teil der Hausaufgabe. Haltet euch nicht zu strikt an das Klassendiagramm, das ist nur eine abstrakte Modellierung, kein exakter Bauplan.
  • Es könnte Sinn machen (a) das Datenbankschema zu erweitern, und (b) Java-Code dafür zu schreiben, damit die Objekte serialisiert und deserialisiert werden können. Die Dockerfiles müsst ihr eigentlich nicht anfassen.

Hoffe das hilft!

Cheers,
Georg


Ja, das hilft bereits etwas danke.

Nur damit ich das richtig verstehe: Wir sollen Funktionalität implementieren damit Location/Coordinate persistent in der DB sein können. Wir sollen aber nicht implementieren, dass sie tatsächlich beim Upload in wahlzeit erfragt und in die DB eingetragen werden, oder?


Korrekt.


Danke für die schnelle Antwort.