Frage

Innerhalb einer Entitätsklasse, kann ich ein Objekt als Attribut haben, und wenn ich die Entität an die Datenbank bestehen bleibt, bleibt es außerdem bestehen, dass Objekte auftreten?

War es hilfreich?

Lösung

Wenn das Objekt serialisierbar ist, können Sie es als Blob serialisieren.Aber das ist nicht etwas, das Sie tun wollen, weil

  • Es wäre ineffizient, ständig serialisieren und das Objekt zu entscheiden
  • Es wäre sehr fragil: Eine Änderung der Objektklasse würde es unmöglich machen (oder hart, wenn Sie wissen, was Sie tun), um die in der Datenbank bereits gespeicherten Versionen zu lesen
  • Nur Java könnte den Blob Sinn machen
  • Sie können auf diesem Objekt keine Abfrage ausführen

Grundsätzlich ist die Antwort also nein.Die JPA-Entitäten können eingebettete Objekte haben, deren Felder der Säulen zugeordnet sind oder Assoziationen mit anderen Entitäten (Onetoone, Onetomany, MyToToone oder Ottomany) haben können.

Mein Rat: Denken Sie zuerst an das Design Ihrer Datenbank, dann karten Sie das Schema an die JPA-Entitäten.Wenn Sie mit dem Schreiben eines Objektmodells, ohne zu schreiben, ohne zu denken, wie in der Datenbank anhalten wird, gehen Sie nicht sehr weit.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top