2016-03-25 5 views
0

In Java Persistence mit Hibernate, Abschnitt 5.1 der Autor empfohlen:JPA: Warum ist es schlecht, serialisierte Form einer Eigenschaft zu speichern?

, wenn die Art der Immobilie java.io.Serializable ist, ist sein Wert in seiner serialisierten Form gespeichert. Dies ist normalerweise nicht das, was Sie wollen, und sollten Sie immer Java-Klassen zuordnen, anstatt einen Heap von Bytes in der Datenbank zu speichern. Stellen Sie sich vor, eine Datenbank mit dieser binären Information zu pflegen, wenn die Anwendung in ein paar Jahren verschwunden ist.

Kann jemand bitte näher darauf eingehen?

Ist es nicht der Fall, dass, wenn der Typ einer Eigenschaft java.io.Serializable ist dann alle seine Attribute/Felder sind serializable und dies ist in der Tat für eine Eigenschaft erforderlich hält?

Antwort

1

Aus einer Datenbankperspektive sind dies unstrukturierte Daten, die als BLOB (großes Byteobjekt) oder CLOB (großes Zeichenobjekt) gespeichert werden ... es ist ineffizient zu speichern (warum nicht einfach auf einem Dateisystem oder in einem Inhalt speichern) (Verwaltungssystem), die meisten Datenbanken haben spezielle (re: obnoxious) APIs, mit denen man umgehen kann, man kann keine Abfragen von ihnen machen, also ist es nur schlecht herum.

Obwohl aus Ihrer Sicht ist es eine Klasse mit einer Struktur, nativ wird die Datenbank nicht in der Lage, damit umzugehen, es sei denn, Sie haben verschiedene Plugins, Addons, OO-Datenbank usw., so ist es nur ein Haufen von Bytes.

Verwandte Themen